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

https://www.acmicpc.net/problem/2852 2852번: NBA 농구 첫째 줄에 골이 들어간 횟수 N(1
문제: 17608번: 막대기 (acmicpc.net) 17608번: 막대기 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 www.acmicpc.net 코드 코드 설명 위 문제는 막대기를 차례대로 쌓고, 우측에서 보았을 때 볼 수 있는 막대기의 수를 구하는 것이다. 따라서, 마지막에 쌓은 막대기를 기준으로 총 볼 수 있는 막대기의 개수를 계산을 해야하므로, 스택을 사용을 해주었다. 따라서, 차례대로 입력된 막대기의 높이들을 스택에 넣어주었다. 입력을 끝낸 후, 스택을 돌아보면서, 임의의 변수 max에 현재까지의 막대기의 최고 높이를 저장한 후, 더 큰 높이를 가진 ..
https://www.acmicpc.net/problem/12789 12789번: 도키도키 간식드리미 인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두 www.acmicpc.net 문제 문제해석 데큐를 이용하여 순서를 나타내고 대기열 공간은 stack을 활용하여 순서대로 나갈 수 있는지 확인하는 문제이다. 코드 import collections N = int(input()) q = collections.deque(map(int, input().split())) tmp = list() min_value = 1 while q: if q[0] != min_value: tmp.a..
https://www.acmicpc.net/problem/18406 18406번: 럭키 스트레이트 첫째 줄에 점수 N이 정수로 주어진다. (10 ≤ N ≤ 99,999,999) 단, 점수 N의 자릿수는 항상 짝수 형태로만 주어진다. www.acmicpc.net 문제해석 점수 N이 주어졌을 때 자릿수를 절반으로 나누어 왼쪽 부분과 오른쪽 부분의 각 자릿수의 합이 동일하면 LUCKY 아니라면 READY를 출력한다. 코드 N = str(input()) check = list() check.append(list(N[:len(N)//2])) check.append(list(N[len(N)//2:])) ch = list() ch.append(list(map(int, check[0]))) ch.append(list(..
문제 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 문제 설명 일련의 수열을 만들기 위한 스택 연산을 +, -로 출력한다. +는 push, -는 pop을 뜻한다. 코드 #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin >> n; int idx = 0; ..
https://www.acmicpc.net/problem/7795 7795번: 먹을 것인가 먹힐 것인가 심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을 www.acmicpc.net 문제 분석 분류 정렬, 이분 탐색, 두 포인터 문제 설명 심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을 수 있는 쌍의 개수는 7가지가 있다. 8-3, 8-6, 8..
문제 풀이 t = int(input()) for _ in range(t): n = input() reverse = n[::-1] sum = str(int(n)+int(reverse)) if sum == sum[::-1]: print('YES') else: print('NO') 설명 테스트 케이스의 개수를 받고 원래 수와 뒤집은 수를 합한 값이 좌우대칭이 되는지를 확인하는 코드를 만든다.
문제: 5533번: 유니크 (acmicpc.net) 5533번: 유니크 첫째 줄에 참가자의 수 N이 주어진다. (2 ≤ N ≤ 200) 둘째 줄부터 N개 줄에는 각 플레이어가 1번째, 2번째, 3번째 게임에서 쓴 수가 공백으로 구분되어 주어진다. www.acmicpc.net 코드 코드 설명 먼저, 전역변수로 이중배열인 point와 포인트 값을 계산한 배열인 total을 선언해주었다. 그 후, 메인함수에서 N의 값을 입력 받은 후, for문을 이용하여 제출한 포인트 수를 입력 받아준다. 총 3게임을 진행하므로 먼저 3번을 반복시켜 준 다음에, for문을 이용하여 돌아가면서 각 자리수에 중복된 값이 있는지 확인 한다. 만일 중복된 값이 하나도 없으면 임의로 설정한 변수 cnt의 값은 0이 될 것이므로 cnt..
https://www.acmicpc.net/problem/11179 11179번: 2진수 뒤집기 희연이는 스웨덴으로 이사하여 현재 학교를 다니고 있다. 1학년 교육과정은 중국에서 배웠고, 스웨덴과 중국 두 나라의 교육과정은 완전히 다르다. 희연이는 수학을 좋아한다. 하지만 지금은. www.acmicpc.net 문제해석 진접변환을 구현하여 2진법으로 바꾼후 그 수를 뒤집어 표현하는 문제이다. 코드 D = dict() result = list() for i in range(36): if i < 10: D[i] = str(i) else: D[i] = chr(55 + i) N = int(input()) while True: if N == 0: break x = N % 2 result.append(D[x]) N ..
https://www.acmicpc.net/problem/2852 2852번: NBA 농구 첫째 줄에 골이 들어간 횟수 N(12}를 써서 출력하도록 하였다.
https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 알고리즘 분류 수학 브루트포스 알고리즘 조합론 백트래킹 문제 바로 어제 최백준 조교가 방 열쇠를 주머니에 넣은 채 깜빡하고 서울로 가 버리는 황당한 상황에 직면한 조교들은, 702호에 새로운 보안 시스템을 설치하기로 하였다. 이 보안 시스템은 열쇠가 아닌 암호로 동작하게 되어 있는 시스템이다. 암호는 서로 다른 L개의 알파벳 소문자들로 구성되며 최소 한 개의 모음(a, e, i, o, u)과 최소 두 ..
알고리즘 분류 구현 문자열 문제 동혁이는 NBA 농구 경기를 즐겨 본다. 동혁이는 골이 들어갈 때 마다 골이 들어간 시간과 팀을 적는 이상한 취미를 가지고 있다. 농구 경기는 정확히 48분동안 진행된다. 각 팀이 몇 분동안 이기고 있었는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 골이 들어간 횟수 N(10: t1=t1-(48*60-(60*m+s)) print('{:0>2}:{:0>2}'.format(t1//60,t1%60)) print('{:0>2}:{:0>2}'.format(t2//60,t2%60))
KauKoala
'Koala - 11기/기초 알고리즘 스터디' 카테고리의 글 목록