ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] 구름 : 앵무새 꼬꼬
    코딩테스트/구름 2024. 6. 28. 12:14

    문제 <- click이 될까?

    [문제 풀기 전 생각]

    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
Designed by Tistory.