[BOJ14171] Cities and States

Updated:

문제

  • 미국의 도시와 주 네이밍에서 “special pair” 가 존재
  • 주와 도시의 앞 두 글자만 가져오기
  • Ex) 플로리다 마이애미 : FL MI
  • 미시건 플린트 : MI FL
  • 두 경우는 special pair이고, 이런 조건을 만족하는 pair 수

입력

  • N (1<= <=200,000) 도시 수
  • N 개의 줄에 도시 이름, 두 글자의 주 코드
  • 도시의 이름은 같을 수 있지만, 주는 달라야함

출력

  • Special pair 수

설계

  • 이중 반복문을 이용하면 쉽게 구할 수 있지만, n의 수가 커 시간초과
  • arr에 도시 담기 (substring 이용)
  • Map을 이용하여 <string, int> 형식의 도시, 수 담기
  • 반복문을 이용해 도시,주 바꾼 문자열이 map에 있는지 체크
  • 있으면 cnt++
  • 예외사항 : 도시, 주 이름 모두 같으면 skip

How I solved(click to github)


ref :
BOJ14171

Leave a comment