전체 글

항공대 알고리즘 동아리 Koala 🥰
https://www.acmicpc.net/problem/9657 9657번: 돌 게임 3 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 문제 분석 돌 N개가 있을 때, 상근이와 창영이가 돌아가면서 돌을 1개, 3개 또는 4개를 가져간다. 마지막 돌을 가져가는 사람이 이기게 된다. 둘은 완벽한 게임을 한다. 조건. 상근이가 먼저 돌을 가져간다. 입력으로는 돌의 개수가 주어지고, 상근이가 게임을 이기면 SK, 창영이가 이기면 CY를 출력한다. 코드 #include using namespace std; int main(){ int n; cin>>n; int shobu[n+1]; shobu[1] = 1; shobu[2] = 0; shobu[3] = 1; ..
소스코드 N,M=input().split() if N==M: print('1') else: print('0') 문제풀이 2개의 값 N,M을 대입 받습니다. 만약 송찬이가 필요한 베터리 N과 선생님이 가져온 베터리 M이 같으면 1을 출력하고, 다르면 0을 출력합니다.
소스코드 N,M,K = input().split() N = int(N) M = int(M) K = int(K) m = K%M n = K//M print(n,m) 문제풀이 관중석의 행의 수 N, 열의 수 M 그리고 관중석 번호 K를 input()과 split()를 통해 한번에 입력 받아서 각 변수를 정수값으로 타입을 바꿔주었습니다. 그리고 관중석의 좌표를 (n,m)으로 잡고 m이 몇열인지 알기 위해서 K를 M으로 나눴을 때의 나머지를 활용해 구했고 N의 행을 구하기 위해서 K를 M으로 몇번 나눌 수 있는지를 활용해 구해냈습니다. 저는 처음에 문제를 보자마자 while반복문만 떠올라서 풀었는데 이렇게 쉽게 풀 수 있는 방법을 떠올리기 쉽도록 노력해야겠습니다.
1673번: 치킨 쿠폰 (acmicpc.net) 1673번: 치킨 쿠폰 강민이는 치킨 한 마리를 주문할 수 있는 치킨 쿠폰을 n장 가지고 있다. 이 치킨집에서는 치킨을 한 마리 주문할 때마다 도장을 하나씩 찍어 주는데, 도장을 k개 모으면 치킨 쿠폰 한 장으로 교환 www.acmicpc.net 소스코드 문제 풀이 치킨 쿠폰 / k + 치킨 쿠폰 수 라고 처음 생각했으나 그 방법으로는 출력 예시대로 안나오길래 많이 당황한 문제이다. 쿠폰을 이용해 치킨을 먹고 치킨을 먹을수록 도장이 쌓이고 그 도장으로 다시 쿠폰으로 만들어서 치킨을 먹기 때문에 처음 내 생각이 틀렸던 것을 알 수 있었다. (한번 노트로 정리해서 쓰니까 어렵지 않았다.) while문으로 위에 적은 문장을 그대로 표현했는데, 수학적으로 깔끔하고..
https://www.acmicpc.net/problem/4435 4435번: 중간계 전쟁 첫째 줄에 전투의 개수 T가 주어진다. 각 전투는 두 줄로 이루어져 있다. 첫째 줄에 간달프 군대에 참여한 종족의 수가 주어진다. 이 값은 공백으로 구분되어 있으며, 호빗, 인간, 엘프, 드워프, www.acmicpc.net 문제분석 전투의 개수를 입력 받고 간달프 군대의 유닛수와 사우론 군대의 유닛수를 입력받아 각 유닛의 점수를 반영해서 총점을 비교하여 승패를 결정해야 합니다. 소스 코드 t=int(input()) for i in range(t): a,b,c,d,e,f=map(int,input().split()) A,B,C,D,E,F,G=map(int,input().split()) if a+2*b+3*c+3*d+..
문제분석 이 문제는 45에서 45를 뺏을 때 0이라는 부분이 있다는 것을 고려해야 합니다. 소스 코드 h,m=map(int,input().split()) if m>44: print(h,m-45) elif h>=1 and m
문제 풀이 코드 문제 풀이 방법 for문을 이용하여 문제를 해결 할 수 있습니다.
소스코드 문제풀이 테스트 케이스의 수 t를 입력받고, t번 동안 반복문을 시행한다. r, s에 input().split()을 이용하여 공백을 기준으로 각각 값을 입력 받고, 문자열에 해당하는 s는 list()를 거쳐 리스트 형태로 변환 후 slist 변수에 저장한다. slist의 길이만큼 반복하면서 slist의 값들을 r개씩 차례로 출력한다. 이때 r은 문자열 타입이므로 int()를 씌워주어야 하며, end=''를 이용해서 각각 시행할 때 엔터가 출력되지 않도록 한다. 한 개의 테스트 케이스가 끝나면 print("")로 문자열의 끝에 엔터를 출력해주도록 한다.
https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 문제해석 O,X로 이루어진 문자열을 입력받은 후 O만 확인하여 점수를 계산하고 출력해주는 문제이다. 코드 #include #include using namespace std; int Quiz(string& str) { int a = 0; int sum = 0; for(char &k : s) { if(k == 'O') { a++; sum += a; } else { a = 0; }..
https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net 문제 해석 1이 입력된 곳(=섬)이 8개의 방향으로 이어져 있으면, 하나의 섬으로 인정한다. 지도에 있는 섬의 총 개수를 출력하는 문제이다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 ..
https://www.acmicpc.net/problem/4435 4435번: 중간계 전쟁 첫째 줄에 전투의 개수 T가 주어진다. 각 전투는 두 줄로 이루어져 있다. 첫째 줄에 간달프 군대에 참여한 종족의 수가 주어진다. 이 값은 공백으로 구분되어 있으며, 호빗, 인간, 엘프, 드워프, www.acmicpc.net 문제해석 반복문과 조건문을 통해 입력한 값의 실수배를 한 합을 비교하는 문제이다. 소스코드 t = int(input()) for i in range(t): a = list(map(int, input().split())) b = list(map(int, input().split())) sum_a = a[0] * 1 + a[1] * 2 + a[2] * 3 + a[3] * 3 + a[4] * 4 +..
https://www.acmicpc.net/problem/20540 20540번: 연길이의 이상형 졸업을 앞둔 연길이는 크리스마스가 다가올수록 외로움을 느낀다. 그런 연길이를 위해 동우는 소개팅을 시켜주지는 않고 연길이의 이상향을 찾는 것을 도와주고자 한다. MBTI 신봉자인 연길이는 www.acmicpc.net 문제분석 문제풀이 1) 연길이의 MBTI를 입력받는다. 2) A, B에 각각 ESTJ와 INFP를 리스트로 저장해 놓는다. 3) 연길이의 MBTI를 앞에서부터 비교하면서 반대되는 MBTI를 출력한다.
KauKoala
Koala