https://www.acmicpc.net/problem/16205
문제 코드
문제 풀이
첫줄에 n과 v를 입력함.
1)
n == 1 일 때, 첫번째 출력은 카멜 표기법이므로 v 그대로 출력, 두번째 출력인 스네이크 표기법은 문장 v 에서 대문자를 찾아내 소문자로 바꾸고, 그 앞에 "_" 를 추가함. 세번째 출력인 파스칼 표기법은 카멜 표기법에서 맨 앞 글자만 대문자로 바꿔서 출력.
2)
n == 2 일 때, 첫번째 출력인 카멜 표기법은 v에서 "_" 의 위치를 찾아내 "_" 뒤의 글자를 대문자로 모두 바꿔준 후, "_" 를 빈칸으로 대체하여 출력, 두번째 출력은 스네이크 표기법이므로 v 그대로 출력, 세번째 출력인 파스칼 표기법은 첫번째 카멜 표기법에서 첫번째 글자만 대문자로 바꾼 후 출력.
3)
n == 3 일 때, 첫번째 출력인 카멜 표기법은 v 에서 첫번째 글자만 소문자로 바꾸어 출력, 두번째 출력은 문장 v 에서 대문자를 찾아내 대문자 앞에 "_" 를 추가하고 대문자를 소문자로 바꾸어 문장을 만든 후 출력, 세번째 출력은 그대로 출력.
## 최초 풀이시 for 문을 사용하여 반복하였으나, "_" 를 추가하는 경우에 len(v) 값이 변화함에 따라 len(v) 값이 최신화 되어야 문장 전체를 반복할 수 있지만 그렇게 되지 않아 문장 일부만 적용되는 오류가 발생함. 따라서 while문과 while문 밖의 변수를 두어 len(v) 를 계속해서 최신화 시켜 반복시키는 방식으로 풀이함.
'Koala - 9기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/python] 1371번 가장 많은 글자 (0) | 2023.01.20 |
---|---|
[백준 / Python] #3985 롤 케이크 (0) | 2023.01.19 |
[백준/Python] 1362 펫 (0) | 2023.01.18 |
[백준/python] 1157번: 단어 공부 (0) | 2023.01.18 |
[백준/python] 12780 원피스 (0) | 2023.01.16 |