반응형 Programming/알고리즘65 [백준 / Python] 1181번 단어 정렬 문제 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 풀이 n = int(input()) data = [] for i in range(n): data.append(input()) data = set(data) data = list(data) data.sort(key = lambda x : (len(x), x)) for i in data: print(i) 이번 문제는 문자열들이 주어졌을때 1. 중복을 제거한다. 2. 길이순으로 정렬한다.. 2023. 7. 9. [백준 / Python] 2941번 크로아티아 알파벳 문제 (2941번 크로아티아 알파벳) https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 해결 코드 / python data = input() N = len(data) answer = 0 i = 0 while True: if i >= N: break if i + 3 2023. 7. 2. [백준 / Python] 11399번 ATM 문제 https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 코드 n = int(input()) data = list(map(int, input().split())) data.sort() for i in range(1, n): data[i] = data[i - 1] + data[i] print(sum(data)) 풀이 모든 사람들의 기다리는 시간의 합을 최소로 하게 하려면 인출하는데 가장 적은 시간이 걸리는 사람이 먼저 ATM을 사용하면 된다. ex. 2명일때 ATM 5분 걸리는 .. 2023. 5. 27. [백준 / Python] 1026번 보물 문제 https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 소스코드 n = int(input()) a = list(map(int, input().split())) b = list(map(int, input().split())) a.sort() b.sort() b.reverse() s = [0] * (n + 2) for i in range(n): s[i] = a[i] * b[i] print(sum(s)) A[x1] * B[x1] + A[x2] .. 2023. 5. 12. [백준 / Python] 1003번 피보나치 함수 문제https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다.www.acmicpc.net코드import sys input = sys.stdin.readline T = int(input()) data0 = [0] * 45 data1 = [0] * 45 data0[0] = 1 data1[0] = 0 data0[1] = 0 data1[1] = 1 for i in range(2, 42): data0[i] = data0[i - 1] + data0[i - 2] data1[i] = data1[i - 1] + data1[i - 2] for _ in range(T): n = int(input()).. 2023. 5. 5. [백준 / Python] 1297번 TV 크기 문제 https://www.acmicpc.net/problem/1297 1297번: TV 크기 김탑은 TV를 사러 인터넷 쇼핑몰에 들어갔다. 쇼핑을 하던 중에, TV의 크기는 그 TV의 대각선의 길이로 나타낸 다는 것을 알았다. 하지만, 김탑은 대각선의 길이가 같다고 해도, 실제 TV의 크기는 www.acmicpc.net 답안 d, h, w = map(int, input().split()) # w > h temp = d / ((h ** 2 + w ** 2) ** 0.5) H = int(h * temp) W = int(w * temp) print(H, W) 단순한 수학 상식으로 풀 수 있습니다. 2023. 4. 8. [백준 / Python] 1780번 종이의 개수 https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net 풀이 n = int(input()) paper = [list(map(int, input().split())) for _ in range(n)] # print(paper) answer = [0, 0, 0] # -1 0 1 def cntPaper(x, y, m): cknum = paper[y][x] ck = True ########### m이 1이면 answer올리고 끝 if m == 1:.. 2023. 3. 1. [백준 / Python] 10816번 숫자카드 2 문제 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net n = int(input()) nlist = list(map(int, input().split())) m = int(input()) mlist = list(map(int, input().split())) dic = {} for i in nlist: if i in dic: dic[i] = dic[i] + 1 else: dic[i] = 1 for i in mli.. 2023. 2. 13. [백준 / Python] 27277번 장기자랑 문제 즐거운 설날을 맞아 부대 장기자랑 행사가 개최된다! 이 행사는 한 번에 한 명씩 순서대로 공연하는 형식으로 진행된다. 장기자랑 행사의 총관리자는 공연하는 병사들의 장기자랑 실력을 토대로 행사를 준비하던 중, 아무래도 앞에 공연한 사람이 너무 잘하면 뒤에 공연하는 사람이 부담감을 느껴 본 실력을 발휘하지 못할 것이라는 고민을 하게 되었다. 이에 총관리자는 각 병사의 장기자랑 실력을 순서대로 $a_1, a_2, \cdots, a_n$이라고 할 때, $2\leq i\leq N$에 대하여 $i$번째 공연자는 실력을 $\max\left(0,a_i-a_{i-1}\right)$만큼만 발휘할 수 있을 것이라는 가설을 세웠다. 이때, 가장 먼저 공연하는 병사는 본인의 실력을 그대로 발휘할 수 있다. 위 가설에 따라.. 2023. 2. 5. [백준 / Python] 1925번 삼각형 https://www.acmicpc.net/problem/1925 1925번: 삼각형 평면상에 세 개의 점이 주어지면, 그 세 점으로 이루어지는 삼각형은 유일하게 결정된다. 또는, 삼각형이 이루어지지 않기도 한다. 세 점의 좌표가 주어졌을 때 다음에 따라 이 삼각형의 종류를 www.acmicpc.net 예제1 입력 0 0 -3 -3 -3 0 출력 Jikkak2Triangle 예제2 입력 1 1 0 0 2 100 출력 DunkakTriangle 예제3 입력 10000 10000 2580 2580 -10000 -10000 출력 X a1, a2 = map(int, input().split()) b1, b2 = map(int, input().split()) c1, c2 = map(int, input().spli.. 2023. 2. 1. 이전 1 ··· 3 4 5 6 7 다음 728x90 반응형