/images/logo.png

11006 남욱의의 닭장

https://www.acmicpc.net/problem/11006 풀이: 다리가 잘린 닭의 수 : 닭의 수 * 2 - 다리의 수 멀쩡한 닭의 수 : 닭의 수 - 다리가 잘린 닭의 수 코드: 사용언어 : Python 3 1 2 3 4 t=int(input()) for i in range(t): n,m=map(int,input().split()) print(m*2-n,m-(m*2-n))

11048 이동하기

+++ author = “jyukki” categories = [“백준”] tags = [“algorithm”, “C++”, “DP”] date = “2017-11-30” description = “algorithm” featured = "" featuredalt = "" featuredpath = “date” linktitle = "" title = “[백준]11048 이동하기” +++ https://www.acmicpc.net/problem/11048 풀이: a[i][t] 는 i행 t열로 갈 때 사탕의 최대 갯수 a[i][t] 는 위에서 올때와 왼쪽에서 올때 중 최대값으로 구할 수 있다. a[i][t] += max(a[i - 1][t], a[i][t - 1]); 코드: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include <iostream>#include <algorithm>using namespace std; int a[1002][1002] = { 0 }; int main(void) { int n, m; cin >> n >> m; for (int i = 1; i <= n; i++) { for (int t = 1; t <= m; t++) { cin >> a[i][t]; } } for (int i = 1; i <= n; i++) { for (int t = 1; t <= m; t++) { a[i][t] += max(a[i - 1][t], a[i][t - 1]); } } cout << a[n][m] << endl; return 0; }

11656 접미사 배열

https://www.acmicpc.net/problem/11656 풀이: 접미사를 모두 리스트에 넣는다. 리스트를 사전순으로 정렬하고 출력한다. 코드: 사용언어 : Python 3 1 2 3 4 5 6 7 n=input() l=[] for i in range(len(n)): l.append(n[i:]) l.sort() for i in range(len(n)): print(l[i])

1267 핸드폰 요금

https://www.acmicpc.net/problem/1267 풀이: 핸드폰 사용시간을 각각 요금제 시간에 맞게 나눈 몫을 구한다 몫을 요금제에 가격에 곱하고 그 가격을 비교한다. 코드: 사용언어 : Python 3 1 2 3 4 5 6 7 8 9 10 11 a,c,d=int(input()),0,0 b=list(map(int,input().split())) for i in range(a): c+=b[i]//30+ 1 d+=b[i]//60+ 1 if(c*10<d*15): print("Y %d" % (c*10)) elif(c*10==d*15): print("Y M %d" % (c*10)) else: print("M %d" % (d*15))

1297 TV 크기

https://www.acmicpc.net/problem/1297 풀이: 대각선길이, 높이비율, 너비비율을 각각 a,b,c라고 할 때 a^2 = (bx)^2 + (cx)^2 로 나타낼 수 있다. 이때 x 값이 a/((bb+cc)^0.5) 로 나타내지고 진짜 길이를 각각 bx, cx로 나타낼 수 있다. 코드: 사용언어 : Python 3 1 2 3 a,b,c=map(int,input().split()) x=a/((b*b+c*c)**.5) print("%d %d"%(int(b*x),int(c*x)))

1302 베스트셀러

https://www.acmicpc.net/problem/1302 풀이: 문자열을 하루 동안 팔린 책의 개수 N만큼 받아드린다. 책 제목이 같을경우 책의 개수를 1씩 증가시킨다. 팔린 책의 개수가 가장 많은 책을 출력한다. 만약 팔린 책의 개수가 같다면 사전순으로 먼저 나오는 것을 출력한다. 코드: 사용언어 : Python 3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 n=int(input()) s={} q='' w=0 for i in range(n): k=input() if(k in s): s[k]+=1 else: s[k]=1 if(s[k]>w): w=s[k] q=k elif(s[k]==w): if(q>k): q=k print(q)