목차

    Algorithm(알고리즘)/백준

    07_백준 _1157 파이썬 단어 공부

    고로케 2021. 6. 17.

    목차

      반응형

      1. .upper() 로 대문자로 만들어주고,

      2. set() 함수로 중복값을 제거한 리스트로.count(x) 로

      원래 문자열에 몇개 있는지 카운트 해주어 second_big 에 저장

      3. first_big 보다 큰 단어일 때 그 단어를 word_list='' 에 저장하고 first_big = second_big 으로 저장한다.

      elif first_big == second_big: 카운트 숫자가 같은 문자가 나온다면

      same_big=1 로 바꿔주어4. for 문이 끝나고서도

      same_big ==1 이면 '?' return 해주는 if 문을 만들었다.

      aabbccc 같이 가장 큰 숫자의 단어가 나중에 등장하면

      앞선 if 문의 word_list='' 저장 코드에same_big 을 = 0 으로 초기화 해주어

      for문이 끝나고서 if same_big ==0: 문에 걸리지 않도록 한다.

      • 풀이
      x = input()
      def word_study(x):
          x = x.upper()
          word_list = list(x)
          set_word_list = set(word_list)
      
          first_big = 0
          same_big = 0
          the_word = ''
      
          for i in set_word_list:
              second_big = word_list.count(i)
              if first_big < second_big:
                  the_word = i
                  first_big = second_big
                  same_big = 0
              elif first_big == second_big:
                  same_big = 1
      
          if same_big > 0:
              return '?'
          return the_word
      
      print(word_study(x))
      
      '''
      # 테스트
      print(word_study('Mississipi'))
      print(word_study('zZa'))
      print(word_study('z'))
      print(word_study('baaa'))
      
      # 출력
      ?
      Z
      Z
      A
      '''
      반응형

      댓글