-
Python. OX퀴즈(8958번)백준문제/Python 2019. 12. 23. 00:44
진짜...나는 왜 이렇게 어렵게 생각하는거지...
(거의 4시간 이상 쏟아부웠다..)
문제
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다.
"OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다.
OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오.
이 문제에서 중요한것은
O가 연속될 때 점수, 입력이 다 끝난뒤 점수가 나오는 것 이다.
(이게 너무 어려웠다. 나한테는...split("x")하고 진짜 ...)
간단히 생각하면 된다.
나는 hap() ,a() 변수를 사용하여 "O"가 연속될때 마다 a+=1 을 해주었고
이것을 hap+=a 로 더해주었다.
"X"일땐 a=0으로 초기화 해주면 된다.
그리고 입력이 끝난 뒤 점수가 나오게 하는 것은
list() 를 만들어서 pop(0)으로 리스트의 점수가 차례대로 나오게끔 하였다.
두번째 for문에서 a와 hap을 0으로 초기화 해주지 않으면 다음 문자열을 읽을 때 a와 hap의 수가 중첩된다.
(꼭 a=0, hap=0으로 초기화 해주기!)
틀린 이유를 몰랐던 문제
.
.
. 하지만!
.
.
주의!!!
if 문에서 OX를 대문자로 입력받기!!!!
그러면 성공!!
'백준문제 > Python' 카테고리의 다른 글
Python. 아스키 코드(11654번) (0) 2020.01.16 Python. 단어공부(1157번) (0) 2020.01.05 Python. 더하기 사이클(1110번) (0) 2020.01.02 Python. 크로아티아 알파벳(2941번) (0) 2019.12.26 Python. 나머지(3052번) (0) 2019.12.22