프로그래머스 문제
<이상한 문자 만들기>
문자열 s를 받아 짝수는 대문자로, 홀수는 소문자로 리턴해야하는 문제이다. 공백으로 나눠서 인덱스를 처리해주어야한다. 0번쨰 인덱스는 짝수로 처리해서 진행해야한다.
들어온 문자열 s를 공백을 기준으로 나눠주고 나눈 단어들을 하나씩 for문으로 나누고 인덱스값이 짝수, 홀수임을 조건문을 통해서 나눠서 대문자, 소문자로 구별해주고 단어 하나가 끝나면 answer리스트안에 추가해주었다. 마지막에 리턴되는것은 리스트가 아닌 문자열이기에 join으로 합쳐주었다.
진행하면서 2가지의 오류가 있었다.
1) 예시의 문제처럼 다 소문자로 이루어지지않을 가능성도 있다.
- 처음에는 else에서 lower처리를 진행하지않고 했더니 정확도가 확 떨어져서 pass하지못했는데 찾아보니, 모든 것이 소문자나 대문자로 이루어지지않음을 염두해두고 풀어야한다고해서 else에 lower를 추가해서 소문자, 대문자를 나누어서 진행해주었다.
2) 공백처리의 필요성
- split()과 split(' ')의 차이점에 대해서 생각을 해보지않았다. split()으로 진행하니 계속 pass되지않아서 찾아보니,
split() : 공백이 몇 개가 존재하든 하나로 처리
split(' ') : 사이 사이의 공백들을 각 각 처리
이런식으로 구분되어있어서 주어진 문자열안의 공백이 무조건 하나가 아닐 수도 있다는 것을 알았고 그를 위해서는 split(' ')으로 공백을 처리해주어야했다.
이번 문제는 생각보다 여러 처리들에 대해서 생각이 필요했던 문제였다. 테스트 문제에 대한 답변만을 낼려고 하는게 아닌 여러가지의 경우의 수의 문제들에 대해서도 생각하는 시각을 가질 수 있었다.
'공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 문자열 내림차순 배치하기 (0) | 2021.05.25 |
---|---|
[프로그래머스] 문자열 다루기 (0) | 2021.05.24 |
[프로그래머스] 모의고사 (0) | 2021.05.20 |
[프로그래머스] 행렬의 덧셈 (0) | 2021.05.19 |
[프로그래머스] 소수 찾기 (0) | 2021.05.19 |