본문 바로가기

PS/백준

[BOJ] 백준 10798 세로읽기 (Swift)

반응형

문제

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

 

10798번: 세로읽기

총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’

www.acmicpc.net

풀이

n * n 형태의 2차원 배열이라면 세로로 읽는 것은 아주 간단할 것입니다.
하지만 이번 문제의 경우 글자의 개수가 다르기 때문에, 세로로 읽다보면 없는 index에 접근하게 되기 때문에 런타임 에러가 발생할 것입니다.

이것을 어떻게 해결할 수 있을까요?

글자의 개수는 최소 1 ~ 최대 15개 입니다.

[5][15] 크기2차원 배열을 먼저 만들어주고, 값은 빈 문자열로 초기화 합니다.
그 이후 5번의 입력을 받아서, 만들어진 2차원 배열에서 0번 인덱스 ~ 입력의 크기만큼을 입력 값으로 대체해줍니다.

입력 값으로 바꿔주는 방법으로는 replaceSubrange 메서드를 사용했습니다.

그 이후 세로로 출력하면 되겠죠? 빈 문자열은 어차피 빈 문자열을 출력하기 때문입니다.

소스코드

후기

2차원 배열순회하는 방법에 대해 안다면 풀 수 있는 문제입니다.
글자의 개수가 다르기 때문에 살짝 고민을 해야했던 문제였습니다.

반응형