목록전체 글 (196)
gambae programing
https://www.acmicpc.net/problem/17224 17224번: APC는 왜 서브태스크 대회가 되었을까? 2019년 올해도 어김없이 아주대학교 프로그래밍 경시대회(Ajou Programming Contest, APC)가 열렸다! 올해 새롭게 APC의 총감독을 맡게 된 준표는 대회 출제 과정 중 큰 고민에 빠졌다. APC에 참가하는 참가 www.acmicpc.net 풀이과정 1. 맞출수있는 모든 문제를 확인한다. 2. 내림차순으로 정렬한뒤 k번째 인덱스까지의 합을 출력한다. 정답 느낀점 1. 맞추긴했지만 복잡하게 코드를 짯다. 2. for문안에 입력값을 받을수있다 # x,y = map(int,input().split())
https://www.acmicpc.net/problem/1246 1246번: 온라인 판매 첫째 줄에 정수 N(1 ≤ N ≤ 1,000)과 M(1 ≤ M ≤ 1,000)이 입력된다. 둘째 줄부터 M+1번째 줄까지 i+1번째 줄에는 Pi(1 ≤ Pi ≤ 1,000,000)가 입력된다. www.acmicpc.net 풀이과정 1. egg를 내림차순으로 정렬해준다. 2. 인덱스값 + 1 이 n을 넘으면 for문을 멈춰준다. 3. 넘지않으면 달걀을 팔수있으므로 리스트에 추가해준다. 4. 리스트를 다시 내림차순으로 정렬해준뒤 출력해준다. 정답 느낀점 1. 달걀의 개수가 손님보다 적을때를 생각해줘야한다. 2. enumerate 를 기억하자!!
https://www.acmicpc.net/problem/14469 14469번: 소가 길을 건너간 이유 3 첫 번째 소는 2초에 도착하고 3초에 농장을 입장한다. 그 다음에는 세 번째 소가 5초에 도착하여 12초에 농장을 입장한다. 마지막으로 두 번째 소가 8초에 오는데, 세 번째 소가 검문을 받고 있으 www.acmicpc.net 풀이 1. 소가 먼저온 순서대로 정렬해준다. 2. 리스트를 돌면서 cnt보다 작으면 y값만 더해주고 크면 cnt를 x+y 값으로 바꿔준다. 정답 느낀점 1. sorted(정렬할대상,key=함수)
https://www.acmicpc.net/problem/1417 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net 풀이과정 1. 투표리스트의 첫번째 값이 다른 투표값들의 최고값보다 커질때까지 반복해서 구해준다. 정답 느낀점 1. vote[1:]을 내림차순으로 정렬하는 생각을못했다. 2. vote[1:]를 계속 정렬해주는게 핵심!! #var.sort(reverse=True)
https://www.acmicpc.net/problem/1105 1105번: 팔 첫째 줄에 L과 R이 주어진다. L은 2,000,000,000보다 작거나 같은 자연수이고, R은 L보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이과정 1. l과r의 자리수가 틀리면 답은 무조건 0이다. 2. 두숫자의 값이 같고 8이면 cnt에 1를 더해준다. 정답 느낀점 1. 무작정 count함수를 썻지만 효율적이지 않았다. 2. 경우의수를 제대로 떠올리지 못했다.
https://www.acmicpc.net/problem/1448 1448번: 삼각형 만들기 첫째 줄에 빨대의 개수 N이 주어진다. N은 3보다 크거나 같고, 1,000,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 빨대의 길이가 한 줄에 하나씩 주어진다. 빨대의 길이는 1,000,000보다 www.acmicpc.net 풀이과정 1. 변의 길이를 내림차순으로 정렬해준다. 2. 가장 길이가 큰 변의 길이가 다른 두 변의 합보다 작아야 하므로 for문을 돌려 만족하는값을 찾아준다. 정답 느낀점 1. import sys input = sys.stdin.readline 이게 시간초과를 안하게 해줬다. 2. 삼각형이 되는 조건은 a < b+c 이다 #a는 가장 길이가 긴 변
https://www.acmicpc.net/problem/13413 13413번: 오셀로 재배치 로봇을 좋아하는 세희는 로봇동아리에서 카메라와 센서, 라즈베리 파이, 집게발을 이용해 로봇을 완성하였다. 이 로봇을 통해서 오셀로 재배치라는 작업을 하려고 한다. 오셀로 말은 앞면이 검 www.acmicpc.net 풀이과정 1. 비포 에프터중에 같은인덱스에 다른값이면 새로운 문자열에 추가해준다. 2. 위치를 바꾸는 것이 최소로 값을 구하는 방법이다. 3. b와 w중 개수를 비교해서 출력해준다. 정답 느낀점 1. 백준은 쓰레기사이트다.
https://www.acmicpc.net/problem/4889 4889번: 안정적인 문자열 입력은 여러 개의 데이터 세트로 이루어져 있다. 각 데이터 세트는 한 줄로 이루어져 있다. 줄에는 여는 괄호와 닫는 괄호만으로 이루어진 문자열이 주어진다. 문자열의 길이가 2000을 넘는 경우 www.acmicpc.net 풀이과정 1. 열린괄호는 스택에 추가해준다. 2. 닫힌괄호인데 스택이 비어있지않으면 스택을 pop해준다 ( {} 이면 바꿀필요가없이때문에) 3. 닫힌괄호인데 스택이 비어있으면 열린괄호로 바꾸고 카운트값을 증가시켜준다. 4. 스택길이의 절반을 바꿔줘야 하므로 카운트값을 증가시켜준다. 정답 느낀점 1. 스택말고 괄호를 바꿔주는 함수를 만들어서 풀었는데 그게 더 나은거같다.
https://www.acmicpc.net/problem/2138 2138번: 전구와 스위치 N개의 스위치와 N개의 전구가 있다. 각각의 전구는 켜져 있는 상태와 꺼져 있는 상태 중 하나의 상태를 가진다. i(1 < i < N)번 스위치를 누르면 i-1, i, i+1의 세 개의 전구의 상태가 바뀐다. 즉, 꺼져 www.acmicpc.net 풀이과정 1. 전구의 상태를 바꿔줄 change함수와 스위치의 상태를 확인할 switch 함수를 만들어준다. 2. 첫번째 전구를 켰는지 안켰는지 2가지 경우로 문제를 접근한다. 3. 이전 전구를 확인하면서 전구의 상태를 바꿔준다. 4. 다음 전구는 마지막 전구가 아니라면 바꿔준다. 5. 두가지경우의 수중 더 작은것을 출력해준다. 정답 느낀점 1. 내 수준의 문제가아니다..
https://www.acmicpc.net/problem/19939 19939번: 박 터뜨리기 $N$개의 공을 $K$개의 바구니에 문제의 규칙을 만족하면서 나눠 담을 수 있다면, 가장 많이 담긴 바구니와 가장 적게 담긴 바구니의 공의 개수 차이를 출력한다. 나눠 담을 수 없는 경우에는 -1을 www.acmicpc.net 풀이과정 1. 바구니에 들어갈 공의 최소개수를 구해준다. 2. 공의개수에서 최소개수를 뺀값이 k로 나누어떨어지면 k-1 아니면 k를 출력해준다. 정답 느낀점 1. 최소공의 개수를 가지고 비교해야하는 생각을 못했다.