Koala - 7기/기초 알고리즘 스터디

소스코드 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/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를 출력한다.
https://www.acmicpc.net/problem/15726 15726번: 이칙연산 첫째 줄에 세 개 정수 A, B, C(1 ≤ A, B, C ≤ 1,000,000)가 주어진다. 답은 int범위를 벗어나지 않는다. www.acmicpc.net 문제분석 연속해서 등장하는 세 수를 곱셈과 나눗셈을 한 번씩 사용해서 나올 수 있는 가장 큰 값을 출력하는 문제이다. 코드 문제풀이 1. 세 수를 한 줄에 입력받는다 2. 곱셈과 나눗셈의 위치에 따른 경우의 수를 위한 두 수(a1, a2)를 만든다 3. 조건문을 이용하여 두 수중에서 큰 값이 나온 값을 출력하도록 한다. 4. 단, 소수점 이하는 버리기 때문에 출력하기 전에 int()를 사용해야한다.
https://www.acmicpc.net/problem/12756 12756번: 고급 여관 플레이어 A의 카드가 남아있다면 "PLAYER A"를, 플레이어 B의 카드가 남아있다면 "PLAYER B"를 출력한다. 모두 죽은 상태라면 "DRAW"를 따옴표 없이 출력한다. www.acmicpc.net A와 B는 각각 공격력과 생명력을 가지고 있다. 서로를 공격한 후에 생명력이 얼마나 남아있는지 비교하여 풀 수 있는 문제이다. 출력물에 따라 아래와 같이 총 3가지의 경우로 나누어 볼 수 있다. (1) A가 승리하는 경우 (2) B가 승리하는 경우 (3) 비기는 경우 누군가가 우선순위를 갖지 않고 '동시에' 공격을 하기 때문에, 같이 죽는 경우가 생긴다. ((3)에 해당하는 경우) 'A의 생명력-B의 공격력'과..
KauKoala
'Koala - 7기/기초 알고리즘 스터디' 카테고리의 글 목록 (7 Page)