< 백준 8958 > ✅
문제 :
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다.
문제 :
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다.
"OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다.
OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오.
입력 :
첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이뤄져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O와 X만으로 이뤄져 있다.
출력 :
각 테스트 케이스마다 점수를 출력한다
< 내 코드 >
1 2 3 4 5 6 7 8 9 10 | t = int(input()) for i in range(t): c = input() l = c.split('X') n = 0 for element in l: for j in range(1, len(element)+1): n += j print(n) |
-- 코드 설명 --
1번 행 : 테스트 케이스의 개수를 입력받는다.
2번 행 : 테스트 케이스 개수 만큼
3번 행 : 'O' , 'X'의 조합으로 이뤄진 문자열 i 를 입력받는다. 이를 변수 c 에 할당한다.
4번 행 : c를 'X'를 기준으로 쪼개 각 조각을 리스트 l 에 넣는다.
5번 행 : 점수를 넣을 변수 n 을 만들어 일단 0을 넣는다.
6번 행 : l에 들어 있는 원소들을 하나씩 꺼내와
7, 8번 행 : 점수를 계산한다.
< 백준 11720 > ✅
문제 : N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하라.
입력 : 첫째 줄에 숫자의 개수 N (1 <= N <= 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
출력 : 입력으로 주어진 숫자 N개의 합을 출력한다.
< 내 코드 >
N = int(input()) nums = list(map(int, input())) print(sum(nums))
그냥 숫자를 입력받아 sum( ) 해주면 끝. 쉽다.
< 백준 - 2675 > ✅
문제 :
문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.
QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./:
이다.입력 :
첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다.
출력 :
각 테스트 케이스에 대해 P를 출력한다.
< 내 코드 >
1 2 3 4 5 6 7 8 | T = int(input()) for i in range(T): R, S = map(str, input().split()) output = '' for i in range(0, len(S)): c = S[i] output += c * int(R) print(output) |
-- 코드 설명 --
문자열 + 문자열 ( 's' + 'B' = 'sB' ) 을 사용해 풀었다.
4번 행에서 빈 문자열 output을 만들어두고,
7번 행에서 문자열 + 문자열을 해나가는 방식이다.
< 다른 사람 코드 >
1 2 3 4 5 6 7 8 | T = int(input()) for i in range(T): R, S = input().split() R = int(R) S = str(S) for i in range(len(S)): print(R*S[i], end='') print() |
나와는 조금 다르게 푼 코드도 있다. 위 코드는 컴도리돌이 님의 블로그에서 가져온 코드다.
내가 3번 줄에서 map( )을 써서 일단 R, S를 모두 str으로 받은 것과 달리,
입력을 먼저 받고 4, 5번 줄에서 각각 int와 str으로 지정해줬다.
또 end=' ' 함수로 문자열을 연결한 것도 다르다.
0 Comments
Post a Comment