문제풀이/BOJ
[Python] BOJ/백준 2789번 유학 금지
서채리
2021. 6. 15. 18:31
[문제]
https://www.acmicpc.net/problem/2789
2789번: 유학 금지
아주 멀리 떨어져 있는 작은 나라가 있다. 이 나라에서 가장 공부를 잘하는 학생들은 모두 다른 나라로 유학을 간다. 정부는 최고의 학생들이 자꾸 유학을 가는 이유를 찾으려고 했다. 하지만,
www.acmicpc.net
[풀이]
입력 str의 첫 번째 문자부터 "CAMBRIDGE"에 포함된 알파벳이 있는지 비교한다.
같지 않을 때마다 변수 cnt를 1씩 증가시키는데 끝까지 비교했을 때 cnt가 9라면 "CAMBRIDGE"에 있는 알파벳이 포함되어있지 않은 경우이기 때문에 최종 출력 문자 completed에 문자를 추가한다.
위 과정은 replace 함수를 쓰면 간단해지는데 "CAMBRIDGE"의 알파벳이 있을 경우 해당 알파벳을 ''로 replace 해 삭제할 수 있다. 코드길이는 훨씬 줄어들지만 시간은 첫 번째 코드가 더 빨리 걸린다. 이건.. 우연이겠지?..
[코드]
- replace() 함수 사용하지 않았을 경우
if __name__ == "__main__":
word = input()
censor = "CAMBRIDGE"
completed = ""
for i in word:
cnt = 0
for j in censor:
if i != j:
cnt += 1
if cnt == 9:
completed += i
print(completed)
- replace() 함수 사용
if __name__ == "__main__":
word = input()
for i in "CAMBRIDGE":
word = word.replace(i, "")
print(word)