[Python] 백준 #20365- 블로그 2

2023. 9. 1. 16:19·코딩테스트/백준[Python]

문제


 

 

20365번: 블로그2

neighbor 블로그를 운영하는 일우는 매일 아침 풀고 싶은 문제를 미리 정해놓고 글을 올린다. 그리고 매일 밤 각각의 문제에 대하여, 해결한 경우 파란색, 해결하지 못한 경우 빨간색으로 칠한

www.acmicpc.net

코드


My answer

import sys
input=sys.stdin.readline

n=int(input())
a=input()
cnt=0
temp=[a[0]]

for i in range(1,len(a)):
    if(a[i]!=temp[-1] and a[i]!='\n'):
        temp.append(a[i])
temp='.'.join(temp)
    
b=temp.count('B')
r=temp.count('R')
c=temp.count('.')+1

answer=min(min(b,r)+1,c)

print(answer)

Another answer

N = int(input())
colors = input()

cdict = {'B':0, 'R':0}
precolor = ''
for color in colors:
    if color != precolor:
        cdict[color]+=1
    precolor=color

count = cdict['R']+1 if cdict['B']>cdict['R'] else cdict['B']+1
print(count)

풀이


생각보다 간단했다. 우선 같은 색깔은 연속으로 한번에 칠할 수 있기 때문에 연속된 문자들을 하나로 바꿔줬다.

ex) 'BBBRRBB' --> 'BRB' 

이렇게 바꿔준 뒤 총 3가지 케이스를 비교했다. 

1. B로 전체 칠하고 R인 것들만 다시 덧칠하기

2. R로 전체 칠하고 B인 것들만 다시 덧칠하기

3. 앞에서부터 B,R 순서대로 칠하기

이렇게 세가지 경우를 비교하여 가장 최소인 경우를 답으로 선정하였다. 

다른 분들의 답을 보며 생각해보니, 앞에서부터 칠하는 것보다 전체를 칠하고 덧칠하는 것이 더 최소여서 

위의 3가지 경우중 1,2만비교해줘도 될 것 같다. 추가적으로 다른 분들은 딕셔너리로 구현하여 더 좋았다.

 

728x90

'코딩테스트 > 백준[Python]' 카테고리의 다른 글

[Python] 백준 #11501- 주식  (0) 2023.09.01
[Python] 백준 #21314- 민겸 수  (0) 2023.09.01
[Python] 백준 #1541- 잃어버린 괄호  (0) 2023.09.01
[Python] 백준 #19941 - 햄버거 분배  (0) 2023.08.24
[Python] 백준 #20300 - 서강근육맨  (0) 2023.08.24
'코딩테스트/백준[Python]' 카테고리의 다른 글
  • [Python] 백준 #11501- 주식
  • [Python] 백준 #21314- 민겸 수
  • [Python] 백준 #1541- 잃어버린 괄호
  • [Python] 백준 #19941 - 햄버거 분배
창빵맨
창빵맨
  • 창빵맨
    Let's be Developers
    창빵맨
    로그인/로그아웃
  • 전체
    오늘
    어제
    • 분류 전체보기 (481)
      • 알쓸신잡 (88)
      • ML & DL (85)
        • Computer v.. (22)
        • NLP (22)
        • 파이썬 머신러닝 완.. (3)
        • 개념정리 (38)
      • 리눅스 (21)
      • 프로젝트 (29)
        • 산불 발생 예측 (6)
        • 음성비서 (12)
        • pdf 병합 프로그.. (0)
        • 수위 예측 (5)
        • 가짜 뉴스 분류 (5)
        • 전력사용량 예측 (1)
      • 코딩테스트 (217)
        • 프로그래머스[Pyt.. (17)
        • 프로그래머스[Fai.. (3)
        • 백준[Python] (160)
        • 이것이취업을위한코딩.. (18)
        • 파이썬 알고리즘 (19)
      • 데이터분석실습 (25)
        • 데이터 과학 기반의.. (18)
        • 헬로 데이터 과학 (7)
      • 메모장 (0)
      • 잡담 (4)
  • Blog

    • 🏠 Home

    ✏️글쓰기
    💻 관리

    Personal

    GITHUB
    Instagram
  • 공지사항

  • 인기 글

  • 태그

    DFS
    나동빈
    이코테
    dp
    BFS
    이것이취업을위한코딩테스트다
    백준
    파이썬
    이분탐색
    그리디
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
상단으로

티스토리툴바