-
[Python] 구름 : 앵무새 꼬꼬코딩테스트/구름 2024. 6. 28. 12:14
[문제 풀기 전 생각]
1. for문과 if문으로 모음 확인 여부를 결정하자.
[my code]
N = int(input()) vowels = 'aeiou' result1 = '' for i in range(N): sentences = input() for char in sentences: if char in vowels: result1 += char print(result1) # 입력 3 hi here father # 출력 결과 ieeae
[문제점]
[의도]
1. 의도는 result1 값에 char이 하나씩 입력되면서 출력되야 하는 데 붙어서 나왔다.
2. 그 외 2가지 방법으로 더 시도해보았다. 결국 길어질 뿐이었지 같은 로직을 길게..썼을 뿐이라는 걸 깨달았다...
3. 최종적으로 다른 방법을 시도해보았다.
N = int(input()) vowels = 'aeiou' vowelsResults = [] for i in range(N): sentences = input() for char in sentences: vowelsResult = '' if char in vowels: vowelsResult += char vowelsResults.append(vowelsResult) print(vowelsResults) // 입력 3 hi here father // 출력 결과 ['', 'i', '', 'e', '', 'e', '', 'a', '', '', 'e', '']
3-1. 의도한바와 다르긴 하지만, 이제 조금 근접해졌음을 느꼈다.
[문제점 해결]
1. 로직의 순서를 바꿔서 해결할 수 있었다.
N = int(input()) vowels = 'aeiou' vowelsResults = [] for i in range(N): vowelsResult = '' sentences = input() for char in sentences: if char in vowels: vowelsResult += char vowelsResults.append(vowelsResult) print(vowelsResults)
[깨달은 바]
프로그래밍이 어떻게 동작하는 지 그 로직을 좀 더 세세하게 알 필요가 있다고 생각했다.
내용물은 같아도 그 배치에 따라 결과가 천차만별이기 때문에, 문제를 많이 풀어보면서 감을 익히는 것도 중요하지만, 문제를 풀기 전에 간략하게라도 의사코드를 적어 푸는 것이 오히려 시간을 아끼겠다는 생각을 했다.[추가로 구름 제출 시 오류]
- 요구사항을 잘 읽어봐야됩니다..허허
- 출력할 때, ['i', 'ee', 'ae'] 가 아닌 한 줄씩 문자열 형태로 모음을 출력하도록 되어 있습니다.
for i in vowelsResults: print(i)
위 코드만 추가 하시면 됩니다.
- 허허 하나 해결했다고 너무 그랬네요... 대문자 모음도 추가해야됩니다. 리팩토링의 중요성이라고 해두죠 !
vowels = 'aeiouAEIOU'
- 허허 진짜 ... 하나 더 추가해야 되는 군요... 요즘 정신이 없어서... 이해바랍니다....
- 모음이 없을 경우 ???를 출력해야된다고 합니다.
N = int(input()) vowels = 'aeiouAEIOU' vowelsResults = [] for i in range(N): vowelsResult = '' sentences = input() for char in sentences: if char in vowels: vowelsResult += char if vowelsResult == '': vowelsResult += '???' vowelsResults.append(vowelsResult) for i in vowelsResults: print(i)
'코딩테스트 > 구름' 카테고리의 다른 글
[JS] 구름 : 단어 개수 세기 (0) 2024.06.25 [Python] 구름 : 고장난 컴퓨터 (0) 2024.06.12 [Python] 구름 : 거꾸로 수 비교 (0) 2024.06.12 [Python] 구름 : 절약 (0) 2024.06.12