https://www.acmicpc.net/problem/16205
16205번: 변수명
첫째 줄에 사용한 표기법의 번호와 변수명이 주어진다. 번호가 1인 경우는 카멜 표기법, 2인 경우는 스네이크 표기법, 3인 경우는 파스칼 표기법이다. 입력으로 주어지는 변수명의 길이는 100을
www.acmicpc.net
문제 코드
문제 풀이
첫줄에 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 |