예꾸
개발자국
예꾸
전체 방문자
오늘
어제
  • 분류 전체보기 (111)
    • CS (6)
      • 데이터베이스 (5)
      • 운영체제 (0)
      • Computer Architecture (1)
    • 끄적끄적 (4)
    • 이론 (29)
      • 알고리즘 (18)
      • 자료구조 (4)
      • WEB (2)
      • JS (2)
      • Git (2)
      • Python (1)
    • 면접준비 (3)
      • Vue (1)
      • Design Pattern (1)
      • Frontend (1)
    • 개발기술 (20)
      • Git PUSH 자동화 (3)
      • VUE (1)
      • Linux (2)
      • MERN Stack (2)
      • React기반 Gatsby로 블로그 개발하기 (6)
      • Typescript (0)
      • 감정일기장(React) (3)
      • CI CD (3)
    • 코드트리 (6)
      • 블로그 챌린지 (3)
      • 모의시험 (3)
    • 취업준비 (3)
      • 코딩테스트 후기 (3)
    • 프로그래머스 (8)
      • SQL (7)
      • 알고리즘 (1)
    • 백준 (31)
      • 그리디(탐욕법) (6)
      • 구현 (5)
      • 그래프탐색(dfs, bfs) (5)
      • 완전탐색 (5)
      • 문자열 (5)
      • 누적합 (2)
      • DP(다이나믹 프로그래밍) (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자료구조
  • 백준 구현
  • 백준 완전탐색
  • 코딩테스트실력진단
  • 코드트리
  • 백준 그래프탐색
  • gatsby
  • 코드트리 추천
  • 백준 그리디
  • javascript
  • JS
  • 알고리즘
  • 코딩테스트
  • 운영체제
  • 컴퓨터 시스템의 구조
  • 백준 문자열
  • 프로그래머스 SQL
  • 나만의공부노트
  • React
  • 프로그래머스

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
예꾸

개발자국

[백준 9046] 복호화 - python
백준/문자열

[백준 9046] 복호화 - python

2021. 6. 9. 18:02

https://www.acmicpc.net/problem/9046

 

9046번: 복호화

입력의 T(1 ≤ T ≤ 20)는 테스트 케이스로, 입력 제일 상단에 주어진다. 각각의 테스트 케이스는 한 줄마다 소문자와 공백으로 이루어진 영어 문장이 주어진다. 이 문장의 길이는 적어도 1이상이

www.acmicpc.net

 

문제 풀이

  • 처음 입력받은 string값을 dic에 한글자씩 key값으로 두고 count합니다 (공백은 제외)
    • dic에 string[i]값이 없는 경우엔 새로 key값 정의하여 value값 1로 설정
    • string[i]값이 있는 경우엔 value값 += 1
    • cf ) 공백을 제거하는 또다른 방법 replace => string = input(), string = string.replace(" ", "") 
  • value값 중 최대값을 max_value에 저장 후 for문으로 key, value를 돌리면서 value값이 max_value와 같을 때를 count한다
  • count가 2이상이면 ?, 1이면 알파벳을 출력'
t = int(input()) # T
for _ in range(t): # 입력반복
    string = input() # 입력 string값
    dic = dict()
    for i in range(len(string)): # string단어 개수 count
        if string[i] == ' ':
            continue
        if string[i] in dic:
            dic[string[i]] += 1
        else:
            dic[string[i]] = 1
        
    max_value = 0 # count한 value값 중 최대값 찾기 
    for value in dic.values():
        if max_value < value:
            max_value = value
    
    count = 0 # 최대값 2개이상인지 확인
    result = '' # 출력값
    for key, value in dic.items():
        print(key, value)
        if value == max_value:
            count += 1
            result = key
    if count == 1:
        print(result)
    else:
        print('?')
            
    '백준/문자열' 카테고리의 다른 글
    • [백준 1181] 단어 정렬 - python
    • [백준 1316] 그룹 단어 체커 - python
    • [백준 20154] 이 구역의 승자는 누구야?! - python
    • [백준 10798] 세로읽기 - python
    예꾸
    예꾸
    비전공자 옒의 개발이야기💻

    티스토리툴바