티스토리 뷰
Algorithm/[Java+Python+JavaScript]BackJoon
[Python]8958번, 문자열을 바로 리스트로 바꾸기
Vagabund.Gni 2023. 2. 5. 13:25728x90
반응형
문제
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다.
O는 문제를 맞은 것이고, X는 문제를 틀린 것이다.
문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다.
예를 들어, 10번 문제의 점수는 3이 된다.
"OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다.
OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수가 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다.
문자열은 O와 X만으로 이루어져 있다.
출력
각 테스트 케이스마다 점수를 출력한다.
풀이
자바로 처음 이 문제를 마주쳤을 때 시간이 조금 소모됐던 기억이 있다.
다행히 아직 잊지 않아서 로직 구성은 어렵지 않았다.
O가 연속해서 나오는 숫자만큼 개수를 세며 연속된 개수를 반복해서 더해준 뒤 출력하면 된다.
이번 문제에서 배운 건, 문자열을 바로 리스트로 변경하는 방법이다.
자바에선 .split()이라는 메서드로 구현한 이 기능은,
파이썬에선 좀 더 간결하다.
그냥 리스트 안에 참조변수를 넣어버리면 된다!
정확히 무슨 말인지는 아래 코드에서.
import sys
a = int(sys.stdin.readline())
for i in range(a):
b = list(sys.stdin.readline()) # 문자열을 바로 리스트로 변경
count = 0
result = 0
for j in b:
if j == 'O':
count += 1
result += count
else:
count = 0
print(result)
반응형
'Algorithm > [Java+Python+JavaScript]BackJoon' 카테고리의 다른 글
[BackJoon]1004번 (0) | 2023.02.05 |
---|---|
[BackJoon]1002번, 두 원 사이의 관계 (0) | 2023.02.05 |
[Python]4344번, 리스트 슬라이싱, 소수점 자리수 조절하기 (2) | 2023.02.05 |
[Python]1546번, 리스트 내부에서 반복문 돌기 (0) | 2023.02.05 |
[Python]3052번, set() (0) | 2023.02.04 |
[Python]5597번, 리스트, 특정 값 제거하기 (0) | 2023.02.04 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 세계일주
- spring
- 스트림
- 동적계획법
- 유럽여행
- 스프링
- 자바
- RX100M5
- Python
- 중남미
- 야경
- 기술면접
- 맛집
- BOJ
- 남미
- 알고리즘
- 지지
- 면접 준비
- java
- Algorithm
- 파이썬
- a6000
- 백준
- 세계여행
- 세모
- Backjoon
- 칼이사
- 여행
- 유럽
- 리스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함