상세 컨텐츠

본문 제목

[SWEA] 5356. 의석이의 세로로 말해요 (파이썬)

PROGRAMMING/Algorithm

by koharin 2019. 9. 5. 18:14

본문

728x90
반응형

# 어떻게 5 개 문자열을 입렫받아서 저장할지

 

 

파이썬은 리스트 속 문자열의 문자도 인덱스로 접근할 수 있기 때문에, 각 문자열을 그냥 한 리스트에 담기로 함

 

# 어떻게 세로로 넣을지

 

일단 문자열 길이가 동일한 경우에서 시작해보자.

길이가 동일하면, a 리스트의 각 문자열의 0번 인덱스에 먼저 접근해서 b 리스트에 넣고, 2번 인덱스에 대해서도 각 문자열마다 접근해서 넣으면 되겠다고 생각

 

그렇게해서 b 리스트에 append 해서 넣었더니 잘 들어갔다.

 

그렇다면 확장해서 문자열 길이가 다를 경우를 생각해봐야 한다.

 

 

생각한 것은 그것이다. 문자열 중 가장 인덱스가 큰 문자열의 길이를 바깥 for문의 range에 넣자.

그리고 각 문자열마다 특정 인덱스를 가리키면서 돌 때, 만약 max length보다 해당 문자열의 끝인덱스가 작으면 건너뛰고 다음으로 돌도록 하면 된다. 

 

해당 문자열 길이가 max length보다 짧은지의 조건을 어떻게 체크할지 생각해봤는데,

 

해당 문자열 길이가 현재 max length에서 도는 인덱스보다 같거나 작으면 (같은 경우도 아닌 이유는 0번 인덱스부터 시작해서 len-1까지 인덱스가 존재하기 때문!) continue를 하게 하면 된다. 

 

 

따라서 이것을 적용하면 두 번째 테스트 케이스도 잘 출력된다.

(이때 주의할 것은 if...else 구조로 가면 안 된다. continue 문은 해당 조건이면 아래 문장을 건너뛰는 역할을 하므로 제대로된 결과가 나오지 않는다.)

 

# 결과

 

 

 

PASS!

728x90
반응형

관련글 더보기