분류 전체보기

1. 문제링크 https://www.acmicpc.net/problem/14724 14724번: 관리자는 누구? PROBRAIN, GROW, ARGOS, ADMIN, ANT, MOTION, SPG, COMON, ALMIGHTY중 동문 커뮤니티 관리자로 선발되는 후보가 소속한 동아리의 이름을 대문자로 출력한다. www.acmicpc.net 2. 소스코드 n = int(input()) clubs = ['PROBRAIN', 'GROW', 'ARGOS', 'ADMIN', 'ANT', 'MOTION', 'SPG', 'COMON', 'ALMIGHTY'] club = {} for i in range(len(clubs)): club[clubs[i]] = 0 for j in range(9): siro = list(map..
https://www.acmicpc.net/problem/17219 n,m = map(int,input().split()) site={} for i in range(n): email,password = input().split() site[email]=password for i in range(m): mail= input() print(site[mail]) 1. 사이트와 비밀번호를 입력받는다. 2. site딕셔너리를 생성한다. 3. 반복문을 통해서 사이트와 패스워드를 받는다. 4. 반복을 통해서 그 사이트의 패스워드를 출력한다.
문제 https://www.acmicpc.net/problem/1940 1940번: 주몽 첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고 www.acmicpc.net 풀이 갑옷을 만들기 위해 두 개의 재료가 필요하므로 투 포인터를 이용하여 구현할 수 있다. 먼저 입력받은 고유한 번호들을 정렬하고, 양 끝(l, r)에서 시작하여 두 수의 합이 m이 되는지 확인하면 된다. 합이 m이라면, 왼쪽(l)을 오른쪽으로 한 칸 옮기고 오른쪽(r)은 왼쪽으로 한 칸 옮긴다. 합이 m보다 작다면, 왼쪽을 오른쪽으로 한 칸 옮긴다. (l += 1)..
문제 https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 문제 분석 1. 빈 리스트 a를 생성한 후 9개의 자연수를 받아 리스트에 삽입한다. 2. max()를 이용하여 최댓값을 구한다. 3. 최댓값에 해당하는 리스트에서의 인덱스값을 구한다. 0부터 시작하므로 +1을 더해준다. Code a = list() for i in range(9): N = int(input()) a.append(N) print(max(a)) p..
문제 풀이 현재 몸무게^2 - 이전 몸무게^2 = G를 만족하는 현재 몸무게를 찾는 문제이다. H^2 - L^2 G면 L++ 을 반복하면서 H^2 - L^2 > G이면서 H - L == 1 이면 종료한다. 몸무게의 범위가 주어져있지 않아서 당황스러웠는데 인접한 제곱수끼리의 차가 G보다 크면 더 이상 답이 나올 수 없어서 종료하면 된다. 또한 두 포인터의 시작을 1로 설정해야한다. 그렇지 않으면 2^2 - 0^2 같은 답이 나오게 된다. 코드 #include #include using namespace std; int G; priority_queue answer; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); ci..
문제 https://www.acmicpc.net/problem/1644 풀이 먼저 소수를 찾는 방법은 에라토스테네스의 체 방법으로 찾을 수 있다. 2부터 자신이 현재까지 나눠지지 않아 True(소수)라면, 해당 수를 소수 리스트에 넣고 그의 배수를 False(소수가 아님)으로 바꿔준다. 이후 소수들에 대해 투포인터를 활용해 연속된 수의 합을 구해본다. 연속된 수의 합이 원하는 수라면 count를 하나씩 늘려 값을 찾는다. 코드 N = int(input()) eratos = [False, False] + [True]*(N-1) primes = [] for i in range(2,N+1): if eratos[i]: primes.append(i) for j in range(2*i, N+1, i): eratos..
문제 https://www.acmicpc.net/problem/11048 11048번: 이동하기 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는 www.acmicpc.net 다이나믹 프로그래밍 알고리즘 문제이다. 코드 #include using namespace std; int N = 0; int M = 0; int str[1000][1000] = { 0, }; int main(){ cin >> N >> M; for (int i = 0; i str[i][j]; } } int sum[3] = { 0, }; for (int i = 0; i = sum[..
T=int(input()) L=[] K=[] P='' for i in range (T) : a,b=map(int,input().split()) K.append(a) K.append(b) K.sort(reverse=True) if a==b : if a==1 : L.append("Habb Yakk") elif a==2: L.append("Dobara") elif a==3: L.append("Dousa") elif a==4: L.append("Dorgy") elif a==5: L.append("Dabash") elif a==6: L.append("Dosh") elif (a==5 and b==6) or (a==6 and b==5) : L.append("Sheesh Beesh") else : for j in K ..
https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 알고리즘 분류 구현 시뮬레이션 문제 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기를 크기가 N×N인 격자에서 연습하려고 한다. 격자의 각 칸에는 바구니가 하나 있고, 바구니는 칸 전체를 차지한다. 바구니에 저장할 수 있는 물의 양에는 제한이 없다. (r..
문제 https://www.acmicpc.net/problem/10867 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. www.acmicpc.net 소스코드 N=int(input()) arrange = list(map(int,input().split())) arrange = list(set(arrange)) arrange.sort() for i in arrange: print(i,end=' ') 문제풀이 1. 개수를 의미하는 정수 N을 입력받는다. 2. 공백을 기준으로 값들을 입력받고, 리스트에 저장한다. 3. 리스트를 set()함수로 바꾸어 중복되는 값을 제거하고,..
https://www.acmicpc.net/problem/5704 문제 팬그램은 알파벳의 모든 글자들을 사용해서 만든 문장이다. "the quick brown fox jumps over a lazy dog"과 "jackdaws loves my big sphinx of quartz"은 팬그램이다. 문장이 주어졌을 때, 팬그램인지 아닌지를 알아내는 프로그램을 작성하시오. 입력 입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 많아야 200글자로 이루어져 있는 문장이다. 단어는 공백 하나로 구분되어 있다. 또, 단어는 알파벳 소문자로만 이루어져 있다. 입력의 마지막 줄에는 별표(*)가 하나 주어진다. 출력 각 테스트 케이스에 대해서, 입력으로 주어진 문장이 팬그램이라면 'Y', 아니라면 'N'를..
https://www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 문제 코드 A=input() B=input() dp=[[0]*1001 for _ in range(1001)] ans=0 for i in range(1, len(A)+1): for j in range(1, len(B)+1): if A[i-1]==B[j-1]: dp[i][j]=dp[i-1][j-1]+1 else: dp[i][j]=max(dp[i-1][j],..
KauKoala
'분류 전체보기' 카테고리의 글 목록 (46 Page)