구현 156

[백준 02875] 대회 or 인턴 [Java]

문제 백준대학교에서는 대회에 나갈 때 2명의 여학생과 1명의 남학생이 팀을 결성해서 나가는 것이 원칙이다. (왜인지는 총장님께 여쭈어보는 것이 좋겠다.) 백준대학교는 뛰어난 인재들이 많아 올해에도 N명의 여학생과 M명의 남학생이 팀원을 찾고 있다. 대회에 참여하려는 학생들 중 K명은 반드시 인턴쉽 프로그램에 참여해야 한다. 인턴쉽에 참여하는 학생은 대회에 참여하지 못한다. 백준대학교에서는 뛰어난 인재들이 많기 때문에, 많은 팀을 만드는 것이 최선이다. 여러분은 여학생의 수 N, 남학생의 수 M, 인턴쉽에 참여해야하는 인원 K가 주어질 때 만들 수 있는 최대의 팀 수를 구하면 된다. 입력 첫째 줄에 N, M, K가 순서대로 주어진다. (0 ≤ M ≤ 100, 0 ≤ N ≤ 100, 0 ≤ K ≤ M+N),..

[백준 02863] 이게 분수? [Java]

문제 상근이는 덧셈과 나눗셈을 엄청나게 못한다. 이런 상근이를 위해 정인이는 상근이에게 다음과 같은 문제를 냈다. 정인이는 양의 정수 A,B,C,D로 이루어진 2*2 표를 그렸다. A B C D 위와 같은 표가 있을 때, 표의 값은 A/C + B/D 이다. 상근이는 표를 몇 번 돌리면 표의 값이 최대가 되는지 궁금해졌다. 표는 90도 시계방향으로 돌릴 수 있다. 문제 상단의 표를 1번 회전 시키면 다음과 같다. C A D B 2번 회전 시키면 다음과 같이 된다. D C B A 표에 쓰여 있는 A,B,C,D가 주어졌을 때, 표를 몇 번 회전시켜야 표의 값이 최대가 되는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 공백으로 구분되어 주어진다. 둘째 줄에 C와 D가 공백으로 구분되어 주어진다. ..

[백준 1703] 생장점 [Python]

풀이 나무는 a번 성장을 하며, 첫 번째 줄 입력에 입력된 2*a개의 정보를 이용해 성장이 끝난 후의 나뭇잎 수를 구해야 한다. 주어지는 정보는 각각 1~a번 간 나무가지가 늘어나는 배수(info[i])와, 쳐 낼 나무가지의 수(info[i + 1])이다. 순서대로 원래의 나무가지 수에 곱하고 감산하는 과정을 a번 만큼 반복해주자. 소스코드 소스코드 보기 출처 1703번: 생장점 branchorama 나무는 특이한 규칙을 가지고 성장합니다. 어린 branchorama 초목은 하나의 잎을 꼭대기에 가진 가는 묘목이며, 그 잎에는 생장점이 있습니다. 성장하는 계절 동안 나무의 생장점들은 여 www.acmicpc.net

[백준 1193] 분수찾기 [Java]

풀이 분수로 이루어진 배열에 대해 N번째 배열의 요소를 출력하는 문제다. 문제에서 주어진 것 처럼 배열의 요소들은 아래의 표처럼 분모와 분자가 뒤바뀌는 것을 알 수 있다. 1/1 1/2, 2/1 3/1, 2/2, 1/3 1/4, 2/3, 3/2, 4/1 5/1, 4/2, 3/3, 2/4, 1/5 1/6, 2/5, 3/4, 4/3, 5/2, 6/1 다음과 같은 규칙이 존재한다. 홀/짝 번째 줄에 따라 분자와 분모의 위치가 변한다. 한 줄에 속한 요소의 다음 요소는 분자와 분모가 1씩 증감하는 규칙이 있다. 다음 줄로 넘어갈 때마다 요소의 갯수가 1씩 증가한다. 한 줄이 가지는 요소 개수만큼 N을 감소시키다 보면 N이 몇 번째 줄(depth)인지 알 수 있다. 또한, 감소시킨 N이 줄의 요소보다 작다면, 그..

[백준 26495] Big Number [Python]

풀이 입력받은 양의 정수를 큰 수로 출력해주면 되는 문제다. 2, 5, 6 을 큰 수로 출력할 때 "2 "와 같은 형식이 아니라 "2"로 출력해주어야 한다. dict에 각 양수에 맞는 큰 수를 문자열 리스트 형태로 저장해두고 출력해주는 방식으로 풀이했다. 소스코드 소스코드 보기 출처 26495번: Big Number One of the professors at PLU has had a lot of trouble reading student programs. He just cannot read that small print. Your job is to write a program that will read a positive integer and rewrite the number in large block..

[백준 26350] Good Coin Denomination [Python]

풀이 화폐의 단위에 대해 화폐 간 최소 두배 이상일 때 "Good coin denominations!", 그렇지 않을 때 "Bad coin denominations!"를 출력해주면 되는 문제다. 두배 이상이 아닐 때 까지 loop를 돌며 비교를 하고, 만약 모든 화폐가 두배 이상이라는 조건을 만족한지 아닌지에 따라 알맞는 문구를 출력해주자. 소스코드 소스코드 보기 출처 26350번: Good Coin Denomination Different countries use different coin denominations. For example, the USA uses 1, 5, 10, and 25. A desirable property of coin denominations is to have each co..

[백준 26340] Fold the Paper Nicely [Python]

풀이 가로와 세로, 접는 횟수를 입력받아 가장 긴 변을 반으로 접는 문제다. 단, 가장 긴 변을 접고도 가장 긴 변이라면 한번 더 접어야 한다는 사실에 유의하자. 출력시 긴 변의 길이를 먼저 출력해줘야 한다. 소스코드 소스코드 보기 출처 26340번: Fold the Paper Nicely Dr. Orooji has a daily calendar (365 pages) on his desk. Every morning, he tears off one page and, as he is reading the notes on the next page, he folds (out of habit) the sheet in his hand. Dr. O noticed that he always folds the sheet..

[백준 26068] 치킨댄스를 추는 곰곰이를 본 임스 2 [Python]

풀이 N개의 기프티콘의 유효기간이 90일이하의 기프티콘 개수를 세주면 된다. 소스코드 소스코드 보기 출처 26068번: 치킨댄스를 추는 곰곰이를 본 임스 2 첫 번째 줄에는 임스가 받은 기프티콘의 개수 정수 $N$이 주어진다. ($1 \le N \le 1\,000$) 두 번째 줄부터 $N$개의 줄에 걸쳐 $i$번째 기프티콘의 남은 유효기간 $x_i$가 D-xi 와 같은 형식으로 주어진다. ( www.acmicpc.net

[백준 25932] Find the Twins [Python]

풀이 4줄에 걸쳐 입력되는 숫자 중 아래에 조건에 따라 출력하면 된다. 17이 있으면 "zack" 18이 있으면 "mack" 17, 18 둘다 있으면 "both" 둘 다 없으면 "none" 입력받은 숫자들과 결과를 같이 출력해줘야 한다는 점에 유의하자. 소스코드 소스코드 보기 출처 25932번: Find the Twins Print each input set. Then, on the next output line, print one of four messages (mack, zack, both, none), indicating how many of the twins are in the set. Leave a blank line after the output for each test case. www.ac..