[백준_python] 크로아티아 알파벳 || 2941

2021. 2. 4. 23:25·🎯PS

www.acmicpc.net/problem/2941

2941번: 크로아티아 알파벳

예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z=

www.acmicpc.net

아 기억난다 진짜 반례 엄청 찾아보면서 계속 값을 넣어봤었다. 정답이 잘 나오는 것 같아 보이지만, 다른 예시를 찾아다가 넣으면 값이 달라서 자꾸 헤맸었던 문제다.

#크로아티아 알파벳

s = input()
arr = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="] #길이가 3개인 것도 있는 것에 주의하기
cnt = 0
n = 0
m = 3
while (n < len(s)):
    i = s[n:m]
    if i in arr: #크로아티아에 해당되면 카운트를 올리고 시작과 끝을 다음 범위로 이동
        cnt += 1
        n = m
        m += 3
    else: #길이가 3에서 2로 줄이기
        m-=1
    if n == m -1: #길이가 1이 되는 경우 카운트를 올리고 범위 이동
        cnt += 1 
        n += 1
        m = n + 3
print(cnt)
# ###########################################################################
#크로아티아 알파벳_2

arr = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="]
s = input()

for i in arr:
    s = s.replace(i,'*')

print(len(s))

정말 내가 머리싸매며 용케 반례도 다 찾아 고치면서 풀었었는데 다른 분 코드에서 replace()라는 함수를 이용해서 간단하게 해결되는 것을 보고 눈물을 훔쳤다...........

반응형
'🎯PS' 카테고리의 다른 글
  • [백준_python] 다리 놓기 || 1010
  • [백준_python] 그룹 단어 체커 || 1316
  • [백준_python] 한수 || 1065
  • [백준_python] 요세푸스 문제 0 || 11866
dmaolon
dmaolon
프로그래밍을 공부한 내용을 기록하는 공간입니다.
  • dmaolon
    기록 남기기
    dmaolon
  • 전체
    오늘
    어제
    • ALL (260)
      • ➰ Series (5)
      • 🎯PS (168)
        • Algorithm (15)
      • ☕ Java (11)
      • 🍀 Spring Boot (29)
      • 💬 Database (9)
      • 🐣 Computer Science (14)
      • 👍 Daily (4)
      • 🎁ReactJS (4)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • 태그

    자바
    프로그래머스
    백준
    프로그래밍
    BFS
    파이썬
    코딩
    Spring
    dfs
    알고리즘
  • hELLO· Designed By정상우.v4.10.1
dmaolon
[백준_python] 크로아티아 알파벳 || 2941
상단으로

티스토리툴바