반응형

코딩테스트 126

[파이썬, Python] 백준 11656: 접미사 배열

문제 https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 코드 s = input() word = list() for i in range(len(s)): word.append(s[i:]) for i in sorted(word): print(i) 설명 우선 단어를 입력받고, 접미사를 넣을 리스트를 만든다. 그리고 입력받은 단어의 부분 단어(접미사)를 word에 추가해 준다. 사전순으로 정렬하여 출력형식에 맞게 출력해 준다.

[파이썬, Python] 백준 7785: 회사에 있는 사람

문제 https://www.acmicpc.net/problem/7785 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 코드 import sys input = sys.stdin.readline n = int(input()) man = {} for i in range(n): a, b = input().split() if b == 'enter': man[a] = b else: del man[a] ans = man.keys() for i in sorted(ans, revers..

[파이썬, Python] 백준 1912: 연속합

문제 https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 코드 n = int(input()) num = list(map(int,input().split())) dp = [-1001] * (n+1) for i in range(n): dp[i+1] = max(num[i], num[i] + dp[i]) print(max(dp)) 설명 우선 입력을 각각 받아준다. 그리고 dp를 -1001의 n+1개로 초기화 해준다. 수의 범위가 -1000

[파이썬, Python] 백준 10867: 중복 빼고 정렬하기

문제 https://www.acmicpc.net/problem/10867 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. www.acmicpc.net 코드 n = int(input()) num = list(map(int, input().split())) ans = [] for i in num: if i not in ans: ans.append(i) for i in sorted(ans): print(i, end=' ') n = int(input()) num = set(map(int, input().split())) for i in sorted(num): print(i, ..

[파이썬, Python] 백준 15650: N과 M (2)

문제 https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 코드 n, m = map(int, input().split()) s = [] def dfs(start): if len(s) == m: print(' '.join(map(str,s))) return for i in range(start, n+1): if i not in s: s.append(i) dfs(i+1) s.pop() dfs(1) 설명 https://looancheong.tistory..

[파이썬, Python] 백준 1475: 방 번호

문제 https://www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 코드 n = input() idx = list(0 for i in range(9)) for i in range(len(n)): if n[i] != '9': idx[int(n[i])] += 1 else: idx[6] += 1 idx[6] = (idx[6] + 1) // 2 print(max(idx)) 설명 우선 방 번호를 입력받는다. 이후 0부터 8까지의 리스트를 하나 생성해 준다.(9는 6으로 취급) 입력받은 숫자의 수가 9가 아니라면 각 수의 인덱스에 맞는 숫자를 1개 올려주고, 9라면 ..

[파이썬, Python] 백준 1927: 최소 힙

문제 https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 코드 import sys import heapq input = sys.stdin.readline n = int(input()) heap = [] for i in range(n): a = int(input()) if a != 0: heapq.heappush(heap, a) else: if not heap: print("0") else: print(heapq.heappop(h..

[파이썬, 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 = sorted(list(map (int, input().split()))) b_list = sorted(list(map (int, input().split())), reverse = True) ans = 0 for i in range(n): ans += a_list[i] * b_list[i] print(ans) 설명 두 리스트의 수를 ..

[파이썬, Python] 백준 25314: 코딩은 체육과목 입니다

문제 https://www.acmicpc.net/problem/25314 25314번: 코딩은 체육과목 입니다 오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ www.acmicpc.net 코드 n = int(input()) for i in range(n//4): print("long", end=" ") print("int") 설명 입력받은 n을 4로 나눈 몫만큼 long을 출력하고 마지막에 int를 출력해 주면 되는 간단한 문제이다.

반응형