본문 바로가기

🔅코딩테스트 공부🔅/❗백준138

[백준] 2675번 문자열 반복(with python) https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 1. 내가 작성한 코드 test_case = int(input()) for i in range(test_case): a,b = input().split() for j in b: print(int(a) * j, end='') print() 마지막에 있는 print() 를 넣지 않고 돌렸더니 출력과 다음 입력이 같은 줄에 겹쳐나와 틀렸다. end = '' 쓸 때 주의하기 ❗ 처음 알았네 ㅇㅅㅇ 2023. 1. 20.
[백준] 10809번 알파벳 찾기(with python) https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 1. 내가 작성한 코드 vo_ca = list(input()) #소문자로 주어짐 arr = [] #a~z list ind_list = [] for i in range(97,123): #a~z까지 들어있는 list 생성 arr.append(chr(i)) for j in arr: if j in vo_ca: ind_list.insert(arr.index(j), vo_ca.index(j)) .. 2023. 1. 20.
[백준] 11720번 숫자의 합(with python) https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 1. 내가 작성한 풀이 n = int(input()) n1 = int(input()) arr = list(map(int, str(n1))) print(sum(arr)) 우선 숫자 n1을 입력받을 때 int로 받아주었다. 이것을 각각 나눠주기 위해서는 list에 str 형태로 변환이 필요하다고 생각하였고, 이후 다시 int로 바꿔서 sum함수로 더해줬다. 2. 다른 풀이 a = int(input()) n = list(input()) sum = 0 for i in n: sum += .. 2023. 1. 20.
[백준] 11654번 아스키 코드(with python) https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 1. 내가 작성한 코드 a = input() print(ord(a)) ord(문자) => 문자를 아스키코드로 변환 ex) A -> 65 chr(숫자) => 아스키코드를 문자로 변환 ex) 65 ->A 2023. 1. 20.
[백준] 4673번 셀프 넘버(with python) https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 일단 문제를 읽으면서 셀프 넘버에 대해 약 57퍼정도 이해를 못 했고, 당연히 혼자서 문제를 해결하지도 못했다. 코드만 봐도 이해가 잘 안돼서 ㅜㅜ 설명이 잘 적혀있는 블로그를 열심히 찾았음 😎 참고 링크 1: https://velog.io/@dbrudskql823/%EB%B0%B1%EC%A4%80-4673-%EC%85%80%ED%94%84%EB%.. 2023. 1. 19.
[백준] 1065번 한수(with python) https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 1. 내가 작성한 코드 numbers = int(input()) count= 0 for num in range(1,numbers+1): #N보다 작거나 같은 수를 num에 차례로 넣음 if num < 100: count += 1 else: if ((num // 100) - ((num//10)%10)) == (((num//10)%10) - ((num%100)%10)): count += 1 print(c.. 2023. 1. 19.
[백준] 4344번 평균은 넘겠지(with python) https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 1. 내가 작성한 코드 c = int(input()) #테스트 케이스 C의 개수 for i in range(c): arr = list(map(int, input().split())) #테스트케이스 입력 score = arr[1:] #과목 수를 나타내는 인덱스 제외하고 SCORE 리스트에 넣음 result = [] avg = sum(score)/arr[0] #평균 구하기 for j in arr[1:]: #총 평균보다 큰 학생 찾기 if j > avg: result.append.. 2023. 1. 18.
[백준] 8958번 OX퀴즈(with python) https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 1. 내가 작성한 코드 n = int(input()) for _ in range(n): arr = list(input()) b = [] sum = 0 for i in range(len(arr)): if i == 0: if arr[i] == 'O': b.append(1) sum = sum+1 else : b.append(0) else : if arr[i] == 'O': b.app.. 2023. 1. 18.
[백준] 3052번 나머지(with python) https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 1. 내가 작성한 코드 a = [] result = [] for _ in range(10): num = int(input()) a.append(num%42) for j in a: if j not in result: result.append(j) print(len(result)) set함수를 이용하려고 했는데 계속 안되길래 for문과 not in 구문을 이용해 구했다. 왜 set 함수가 안써졌나~ 확인해보니 변수를 할당하지 않고 set(result)라고만 적어서 그런다.. 2023. 1. 18.