티스토리 뷰

코딩테스트

문자열 뒤집기

ajaa 2024. 11. 19. 14:27

📌문제

다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모두 뒤집는 것이다. 뒤집는 것은 0을 1로 1을 0으로 바꾸는 것을 의미한다.

문자열 S가 주어졌을 때 다솜이가 해야하는 행동의 최소 횟수를 출력하시오.

 

📌풀이

전부 0으로 바꾸는 경우, 전부 1로 바꾸는 경우 중 더 적은 횟수를 가지는 경우 계산

리스트를 앞에서부터 확인하며 0에서 1로 변경하거나 1에서 0으로 변경하는 경우를 확인

 

📌코드

data = input()
count0 = 0  # 전부 0으로 바꾸는 경우
count1 = 0  # 전부 1로 바꾸는 경우

# 첫번째 원소에 대해 처리
if data[0] == "1":
    count0 += 1
else:
    count1 += 1

# 두번째부터 모든 원소 확인
for i in range(len(data) - 1):
    if data[i] != data[i + 1]:
        # 다음 수에서 1로 바뀌는 경우
        if data[i + 1] == "1":
            count0 += 1
        # 다음 수에서 0으로 바뀌는 경우
        else:
            count1 += 1

print(min(count0, count1))

 

📌참고

https://g.co/kgs/eyd5SSd

 

이것이 취업을 위한 코딩 테스트다 with 파이썬

IT 취준생이라면 누구나 입사하고 싶은 카카오・삼성전자・네이버・라인!취업의 성공 열쇠는 알고리즘 인터뷰에 있다! IT 취준생이라면 누구나 가고 싶어 하는 카카오, 라인, 삼성전자의 2016년

www.google.com

 

 

'코딩테스트' 카테고리의 다른 글

볼링공 고르기  (2) 2024.11.21
만들 수 없는 금액  (4) 2024.11.20
곱하기 혹은 더하기  (0) 2024.11.18
모험가 길드  (6) 2024.11.16
커리큘럼  (1) 2024.11.15
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함