문제
고려대학교에 입학한 새내기 호돌이는 안암역을 지나다가 한 붕어빵 장수를 만났어요.
“안녕, 안녕, 안녕하십니까, 아저씨! 붕어빵 두 개 주세요.”
“안녕을 세 번 외쳤으니 붕어빵 세 개!”
붕어빵 두 개의 값을 내고 세 개를 받은 호돌이는 기분이 좋았어요. 호돌이가 붕어빵 하나를 꺼내어 한 입 물었는데…. 너무 뜨거워서 그만 붕어빵을 떨어뜨리고 말았어요ㅠㅠ

붕어빵은 자유 낙하운동을 하면서 땅에 떨어졌는데 신기하게도 좌우가 뒤집힌 모양으로 착지했답니다. 호돌이가 붕어빵을 한 입 물기 전의 모양이 입력으로 주어지면, 땅에 떨어졌을 때에는 어떤 모양일지 출력하세요.
입력
첫째 줄에는 두 개의 정수 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 |
