문제

고려대학교에 입학한 새내기 호돌이는 안암역을 지나다가 한 붕어빵 장수를 만났어요.

“안녕, 안녕, 안녕하십니까, 아저씨! 붕어빵 두 개 주세요.”

“안녕을 세 번 외쳤으니 붕어빵 세 개!”

붕어빵 두 개의 값을 내고 세 개를 받은 호돌이는 기분이 좋았어요. 호돌이가 붕어빵 하나를 꺼내어 한 입 물었는데…. 너무 뜨거워서 그만 붕어빵을 떨어뜨리고 말았어요ㅠㅠ

https://www.acmicpc.net/problem/11945

붕어빵은 자유 낙하운동을 하면서 땅에 떨어졌는데 신기하게도 좌우가 뒤집힌 모양으로 착지했답니다. 호돌이가 붕어빵을 한 입 물기 전의 모양이 입력으로 주어지면, 땅에 떨어졌을 때에는 어떤 모양일지 출력하세요.

 

 

입력

첫째 줄에는 두 개의 정수 N과 M(0≤N,M≤10)이 주어집니다. 둘째 줄부터 N개의 줄에 걸쳐 붕어빵의 모양이 주어집니다. 각 행에는 공백을 나타내는 ‘0‘ 또는 붕어빵을 나타내는 ‘1’이 총 M개 주어집니다. 

 

 

출력

입력으로 주어진 붕어빵이 좌우로 뒤집힌 모양을 출력하세요.

 

 

풀이

예제에서 쓸대없는 행, 열의 길이값을 첫 번째 줄에서 제공하기 때문에

첫 번째 줄의 입력은 무시하고 나머지 줄만 좌우반전을 진행하면 된다.

 

문자열의 순서를 역으로 바꾸려면 for문을 통해 새로운 문자열에 역순으로 한글자씩 넣어줘도 되지만

가독성 및 코드작성의 편의를 위해 .split('').reverse().join('')을 통해 분할, 역순, 결합을 통해 뒤집어진 문자열로 만들어준다.

 

범위가 작기 때문에 각각 줄마다 출력해도 되겠지만 

테스트케이스의 범위가 클 경우를 대비해 result에 담아서 출력했다.

const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n')
const result = []
for(let i = 1 ; i < input.length ; i++){
    result.push(input[i].split('').map(Number).reverse().join(''))
}

console.log(result.join('\n'))
const input = `5 7
0010000
0111010
1111111
0111010
0010000`.split('\n')
const result = []
for(let i = 1 ; i < input.length ; i++){
    result.push(input[i].split('').map(Number).reverse().join(''))
}

console.log(result.join('\n'))

'알고리즘 > 백준' 카테고리의 다른 글

[백준 JS] 24751번 Betting  (0) 2023.03.09
[백준 JS] 15552번 빠른 A+B  (0) 2023.03.09
[백준 JS] 11720번 숫자의 합  (0) 2023.03.09
[백준 JS] 10808번 알파벳 개수  (0) 2023.03.09
[백준 JS] 7595번 Triangles  (1) 2023.03.09

+ Recent posts