[백준 구현/문자열] 1148 단어 만들기

2024. 5. 5. 20:05· 알고리즘

 

골드5 문제이다.

 

 

코드

dictionary = []
puzzels = []

flag = True

while True:
  s = input()

  if s == '#':
    break

  if s == '-':
    flag = False
    continue

  if flag:
    dictionary.append(s)
  else:
    puzzels.append(s)

for puzzel in puzzels:
  candidates = []
  for word in dictionary:
    puzzel_list = list(puzzel)
    flag = True
    for i in range(len(word)):
      if word[i] not in puzzel_list:
        flag = False
        break
      else:
        puzzel_list.remove(word[i])

    if flag:
      candidates.append(word)

  arr = []
  max_cnt = -1
  min_cnt = 200001
  for p in puzzel:
    cnt = 0
    for c in candidates:
      if p in list(c):
        cnt += 1
    arr.append((p, cnt))

    max_cnt = max(max_cnt, cnt)
    min_cnt = min(min_cnt, cnt)

  arr = list(set(arr))
  arr.sort(key=lambda a: (a[1], a[0]))

  min_results = ""
  max_results = ""

  for i in range(len(arr)):
    if arr[i][1] == min_cnt:
      min_results += arr[i][0]
    # else if 쓰면 안됨 - 주의
    if arr[i][1] == max_cnt:
      max_results += arr[i][0]

  print(min_results, min_cnt, max_results, max_cnt)

# https://www.acmicpc.net/problem/1148

 

이번 문제는 쉬웠다.

 

'알고리즘' 카테고리의 다른 글

[백준 브루토포스/백트래킹/비트마스킹] 가르침  (0) 2024.05.07
[leetcode/backtracking] 17. Letter Combinations of a Phone Number  (0) 2024.05.06
[백준 정렬] 강의실 배정  (0) 2024.04.22
[PCCP 기출문제] 1번 / 붕대 감기 (자바스크립트 풀이)  (0) 2023.12.09
[코드트리] 겹쳐지지 않는 두 직사각형 풀이  (2) 2023.11.07
'알고리즘' 카테고리의 다른 글
  • [백준 브루토포스/백트래킹/비트마스킹] 가르침
  • [leetcode/backtracking] 17. Letter Combinations of a Phone Number
  • [백준 정렬] 강의실 배정
  • [PCCP 기출문제] 1번 / 붕대 감기 (자바스크립트 풀이)
김태진
김태진
성장하기 위한 글을 작성하려고 노력중 입니다
김태진
My Dev History💻
김태진
전체
오늘
어제
  • 분류 전체보기 (131)
    • 파이썬 (8)
    • 알고리즘 (24)
    • 자바스크립트 (13)
      • 프로젝트 (6)
      • 이론 (6)
    • html&css (3)
    • css (6)
    • TIL (6)
    • react (15)
    • 회고 (5)
      • 주간회고 (2)
    • 강의 정리 (3)
      • 코드잇 리액트 강의 모음 (3)
    • 오류로그 (4)
    • 프로젝트 (15)
    • 타입스크립트 (2)
    • Computer Science (4)
      • 머신러닝 (3)
      • 컴퓨터네트워크 (1)
    • 오픈소스 (3)
    • 웹 (1)
    • 코드개선 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • CSS
  • 공식문서
  • canvas api
  • white-space
  • game
  • 리액트
  • 게임
  • 자바스크립트
  • css property
  • react
  • redux
  • Flappy game
  • 오픈소스
  • react icons
  • prototype
  • 상속
  • Recoil
  • 오픈소스 기여
  • javascript
  • 개발자
  • 프론트엔드
  • initial value
  • Object

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
김태진
[백준 구현/문자열] 1148 단어 만들기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.