본문 바로가기

전체 글229

[백준] 5622번 다이얼(with python) https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 1. 내가 작성한 코드 word = list(input()) #문자입력 sum = 0 for i in word: if i in ['A','B','C']: sum += 3 elif i in ['D','E','F']: sum += 4 elif i in ['G','H','I']: sum += 5 elif i in ['J','K','L']: sum += 6 elif i in ['M','N','O']: sum += 7 elif i in ['P','Q','R','S']: sum += 8 el.. 2023. 1. 21.
[백준] 1978번 소수 찾기(with python) https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 1. 내가 작성한 코드 n = int(input()) cnt = 0 num = list(map(int, input().split())) rmv_list=[] arr = list(range(1,1001)) for i in range(2,1001): for j in range(2,1001): if i*j 2023. 1. 21.
[백준] 1789번 수들의 합(with python) https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 1. 내가 작성한 코드 n = int(input()) #자연수의 합 sum = 0 for i in range(1,n+1): sum += i if sum == n: print(i) break elif sum > n: print(i-1) break range의 범위를 1부터 n까지로 잡고 풀었더니 97%에서 계속 오류가 났다😥 왜 그럴까 고민을 해보니 n이 '1 or 2'일경우 출력이 되는 조건이 없던 것,, 수정해서 맞긴 했는데, 우리가 아는 공식을 이용하는 아주 수ㅣ운 풀이가 있었다. 2. 다른 풀이 s = int.. 2023. 1. 21.
[백준] 2908번 상수(with python) https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 1. 내가 작성한 풀이 arr = list(input().split()) b = [] for i in arr: a = '' for j in (i[2],i[1],i[0]): a = a + j b.append(a) print(max(b)) ㅋㅋㅋ ㅠㅠ 반복문에 list까지 사용할 문제가 아닌데 되게 무식하게 풀었다. 그냥 역순으로 출력하면 되는 건데,, python 문법 활용 부족,, 2. 모범 답안 a,b = .. 2023. 1. 20.
[백준] 1152번 단어의 개수(with python) https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 1. 내가 작성한 코드 sentance = input().strip() if sentance == '': print(0) else: cnt = sentance.count(' ') print(cnt+1) 90퍼쯤 갈 때 계속 오류가 발생해서 어떤 반례가 있을까 찾아보니 " " 처럼 공백 하나만 입력으로 주어졌을 때 틀린다는 걸 알게됐다. 2. 다른 풀이 word = input().split().. 2023. 1. 20.
[백준] 1157번 단어 공부(with python) https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 1. 내가 작성한 코드 voca = input().upper() voca_list = list(set(voca)) cnt = [] for i in voca_list: cnt.append(voca.count(i)) if cnt.count(max(cnt)) > 1: print("?") else: print(voca_list[(cnt.index(max(cnt)))]) upper, set 함수를 이용하면 되는데, 이게 잘 생각이 나지 않.. 2023. 1. 20.
[백준] 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.