예전에는 프로그래머스 2단계도 버거워하면서 들고왔는데, 이제는 하루에 몇 문제도 거뜬하게 풀 수 있게 되었다.
오늘 문제는 아주 킹 받아서 들고왔다,, 진짜 이 문제의 문제가 정말 무엇일까 하면서 고민을 정말 오해한 것 같다,,
발견한 문제는 '반례'인데, 문제에 대한 자세한 설명도 없고 테스트케이스가 부실한 것 같았다.
(다른 유저들의 힌트에서 끝에 공백이 있으면 그 공백도 처리를 해야한다고해서 해결을 했다.)
그러니까 문제는 Python의 split() 함수로 풀게되면 안된다는 것, 그러면 끝에 공백은 날라가버린다.
처음에는 내가 평소에 하던 방식으로 split() 방식으로 풀이를 했다.
입출력 예시에 따른 결과가 잘 나와서 쉬운문제겠구나,, 하면서 제출을 했는데
실패의 늪에 빠졌다. 그래서 방법을 바꿔보았다.
def solution(str):
result = ""
result += str[0].upper()
for i in range (1, len(str)):
if (str[i-1] == " "):
result += str[i].upper()
else:
result += str[i].lower()
return result
다른 사람들 코드를 보니까 엄청 길다, 생각보다 코드를 길게 안 짜도 되어서 괜찮았다.
반복문을 통해 반복을 해주면서, 혹시나 뒤에 공백이 있으면 이번 반복하는 글자를 대문자로 바꿔주는 방법이다.
이러면 모든 공백을 다 챙겨올 수 있다. 이런,, 킹받는 문제,, 나는 백준이 좋아,,
'개발적인 > 알고리즘' 카테고리의 다른 글
[프로그래머스] 옹알이(1) (0) | 2022.11.08 |
---|---|
[백준] 1931번 (0) | 2022.05.08 |
[백준] 11047번 (0) | 2022.05.06 |
[백준] 11399번 (0) | 2022.05.06 |
[백준] 2839번 (0) | 2022.05.06 |
댓글