728x90
반응형
https://www.acmicpc.net/problem/1343
문제를 풀면서 몰랐던 개념
- replace 함수로 따로 떨어져있는 문자열이 아니라 붙어있는 것도 바꿀 수 있다는 것을 알았다...
ex) 내가 생각한 replace 함수 기능: "one2ye, one2ye, 20s" 에서 "20s"를 "seonho"로 바꿀 때 쓸 수 있다. 즉, 문자열이 리스트처럼 분리되어있을 때만 사용가능하다고 생각했다.
"one2yeLoves20s" -> "20s"를 "Seonho"로 바꾸는 것도 할 수 있음!
N = "one2yeLoves20s"
N = N.replace("20s", "Seonho")
print(N)
# 출력결과
>>> one2yeLovesSeonho
문제의 접근 방법
- replace 함수 사용해보기
- 입력된 X의 개수가 홀수이면 덮을 수 없다 or 덮은 후의 문자열에 X가 하나라도 있으면 덮을 수 없다
내가 막혔던 부분
- replace 함수의 사용법
- 덮은 후의 문자열에 X가 홀수 개가 있으면 '-1'을 출력해야 한다고 생각함 => 처음에 입력받은 문자열로는 X의 개수가 홀수이면 안된다는 것으로 판별할 수 있지만, 이미 덮은 후에는 X의 존재여부가 포인트이지 그 개수는 무의미하다!
문제 풀이 방법
보드판 N 값 입력받기 -> 입력받은 문자열 N을 "XXXX"는 "AAAA"로, "XX"는 "BB"로 바꾸어서 다시 N에 저장해주기 -> 만약 덮고난 후 문자열 N에 "X"가 하나라도 있으면 덮을 수 없다는 뜻이므로 '-1' 출력하기 -> 그게 아니라면 N 출력해주기!
소스코드
N = input()
N = N.replace("XXXX", "AAAA")
N = N.replace("XX", "BB")
if N.count('X') >= 1:
print('-1')
else:
print(N)
728x90
반응형
'백준 write-up > 정렬 & 그리디' 카테고리의 다른 글
[백준] 사과 담기 게임 : 2828번 - Python (0) | 2021.08.11 |
---|---|
[백준] 과제 : 13904번 - Python (0) | 2021.08.10 |
[백준] 게임을 만든 동준이 : 2847번 - Python (0) | 2021.08.09 |
[백준] 세탁소 사장 동혁 : 2720번 - Python (0) | 2021.08.09 |
[백준] 뒤집기 : 1439번 - Python (0) | 2021.08.09 |