목록Algorithm (113)
gambae programing
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. 최소공의 개수를 가지고 비교해야하는 생각을 못했다.
https://www.acmicpc.net/problem/9009 9009번: 피보나치 입력 데이터는 표준입력을 사용한다. 입력은 T 개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 테스트 데이터의 수를 나타내는 정수 T 가 주어진다. 각 테스트 데이터에는 하나의 정수 n www.acmicpc.net 풀이과정 1. 피보나치 리스트를 만든다. 2. 리스트중에서 뒤에서부터 빼고 0이되주면 멈춘다음 출력해누다 정답 느낀점 1. 어려운듯하면서도 쉬운문제였다. 2. 재귀알고리즘