출처 | 백준https://www.acmicpc.net/problem/9498
출처 | https://www.acmicpc.net/step/3 2739번 구구단
출처 | https://www.acmicpc.net/step/6 10807번 - 개수세기
출처 | https://www.acmicpc.net/step/7126문제 남음
출처 | https://www.acmicpc.net/step/7
출처 | https://www.acmicpc.net/step/7
출처 | https://www.acmicpc.net/step/52
출처 | https://www.acmicpc.net/step/52 1157 - 단어공부 2941 - 크로아티아 알파벳.py
출처 | https://www.acmicpc.net/step 2738-행렬 덧셈 2566번 - 최댓값 10798번 - 세로 읽기
출처 | https://www.acmicpc.net/problem/2745문제 설명은 해당 링크 참조1) B진법 수 N이 주어진다. -> 10진법으로 바꿔 출력 + 10진법을 넘어가면 알파벳 대문자로 사용2) 예제 입력 1 <-> 예제출력 1의 관계를 파
출처 | https://www.acmicpc.net/problem/11005문제 해당 링크 참조 이전 문제의 반대 상황 진법의 index를 알기위한 arr (string)을 정의한다. (36진법 이하)N이 0이 될 때까지 s라는 string에 arr\[N%B]
출처 | https://www.acmicpc.net/problem/11005문제 해당 링크 참조$0.5달러를 줘야하는 경우에 거스름돈으로 $5달러준다.거스름돈의 액수가 주어지면 리암이 줘야할 쿼터(Quarter, $0.25)의 개수, 다임(Dime, $0.10
출처 | https://www.acmicpc.net/problem/2292벌집의 모양을 보면 벌집의 개수가 6의 배수로 증가하며 규칙성 있게 한 겹씩 쌓이고 있다. 이 점을 이용해서 while문이 반복하면서 6의 배수로 숫자가 증가하는 코드를 작성해 보았다.
출처 | https://www.acmicpc.net/problem/1193해당 블로그를 참고하여 작성했다.while 반복문으로 입력받은 정수가 몇 번째 사선 라인에 있는지 확인한다.사선 라인이 짝수인지 홀수인지에 따라 분수가 찾는 규칙이 달라진다.
출처 | https://www.acmicpc.net/problem/5086설명 참고첫 번째 숫자가 두 번째 숫자의 약수이다.첫 번째 숫자가 두 번째 숫자의 배수이다.첫 번째 숫자가 두 번째 숫자의 약수와 배수 모두 아니다.해당 설명에 맞게 if문을 설정하고 진
출처| https://www.acmicpc.net/problem/2501K > len(arr) 부분은 주어진 수 N의 약수를 저장한 리스트 arr의 길이보다 K가 큰 경우에 대한 조건을 나타낸다.여기서 arr에는 N의 모든 약수가 저장되어 있다. 즉, arr의
출처 | https://www.acmicpc.net/status?user_id=ohjihwan123&problem_id=9506&from_mine=1해당 문제를 풀기 위해선 언패킹의 개념을 숙지해야한다. 필자도 이 문제를 풀면서 해당 부분을 알게 되었다. 알고
출처| https://www.acmicpc.net/problem/1978 소수 : 1과 자기 자신으로 나눌 때만 나누어 떨어지는 자연수이다. 1은 소수가 아니고 2는 소수 중에 유일한 짝수이다. 2를 제외한 나머지 소수는 모두 홀수로 이루어져 있다. (예 :
출처 | https://www.acmicpc.net/problem/2581소수를 판별하기 위해서 반복문을 포함한 반복문 코드를 작성하여 두 개의 숫자 범위가 반복할 수 있도록 했다. 첫 번째 숫자 범위는 입력받은 두 수의 범위이다. i 변수가 1보다 큰 경우
출처 | https://www.acmicpc.net/problem/11653문제를 풀기 전 소인수분해에 대한 이해가 필요하다. 분명히 고려해야 될 부분은 시간복잡도다. O(n^2) 개선점이 필요함.
출처| https://www.acmicpc.net/problem/1085https://ooyoung.tistory.com/102해당 블로그 참조왼쪽 아래 꼭짓점을 (0, 0) 좌표에 두고 오른쪽 위 꼭짓점을 (w, h) 좌표에 둔 직사각형이 있다고 할
출처| https://www.acmicpc.net/problem/1085사용자로부터 값을 받고 그 값을 리스트로 저장한다.평행한다는 idea로 리스트를 돌면서 리스트 내부 안에 리스트가 하나인 경우를 if 값으로 설정해 네번째 점을 구한다.
출처 | https://www.acmicpc.net/problem/15894쉬운 문제이므로 코드설명은 생략하겠다.
출처 | https://www.acmicpc.net/problem/10101
출처 | https://www.acmicpc.net/problem/5073
출처 | https://www.acmicpc.net/problem/14215세 막대는 모두 줄일 수만 있다.세 막대를 상기 이미지와 같이 적절히 줄여 만들기 위해서 삼각형의 성질을 알 필요가 있다.가장 긴 변을 c라고 가정했을 때 삼각형이 만들어지기 위해서는
출처 | https://www.acmicpc.net/problem/24262https://develop247.tistory.com/195수행 시간에 대한 배경 지식이 없다면 문제를 처음 첩하면 아리송하다.코드의 수행 횟수와 알고리즘의 수행 시간을 출력
출처 | https://www.acmicpc.net/problem/27985 6 7 8 9를 리스트로 입력받은 후 반복문을 중첩 사용하여 모든 경우의 수에 대한 합을 구하고 새로운 리스트에 담도록 했다.그 합이 M을 초과한다면 그냥 반복문을 계속 진행하고, M
출처| https://www.acmicpc.net/problem/9663분명 완전탐색 카테고리에 있는 문제였는데 어떻게 풀어야할지 감이 안와서 구글링해보니까 DP로 다들 푸셔서DP 공부도 해볼 겸 참고했다. 일단 풀이를 보고 이해하는 것부터가 힘들었다.뒤에서부
출처 | https://www.acmicpc.net/problem/14889
출처| https://www.acmicpc.net/problem/15650
출처 | https://www.acmicpc.net/problem/15651
출처 | https://www.acmicpc.net/problem/15652 현재 i를 포함하는 경우를 고려한다.rs 리스트에 i를 추가한 후, 재귀적으로 다음 원소를 선택하는 것을 진행한다.이후에 rs에서 i를 제거하고 다음 원소로 넘어간다.현재 i를 포함하
출처 | https://www.acmicpc.net/problem/9663해당 블로그를 참고했다.백트래킹의 가장 기본 문제 중 하나인 N-Queen 문제이다.처음에는 퀸이 놓인 위치를 기록해주기 위해서 2차원 배열을 사용하려 했으나 단순히 1차원 배열의 인덱스
출처| https://www.acmicpc.net/problem/11399이 문제가 요구하는 것은 각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값입니다."각 손님의 대기 시간의 총합을 최대한 줄이는 것"이 정답이겠네요.예제 1번으로 해설해보겠습니다.먼저
출처 | https://www.acmicpc.net/problem/11047
출처 | https://www.acmicpc.net/problem/1931lambda 블로그 참고 end와 start를 기준으로 정렬하는 아이디어를 떠올려야 한다먼저 끝날 수록, 이후 시간에 예약할 수 있는 여유가 많아진다 : end 기준 정렬끝나는 시각이 같
출처 | https://www.acmicpc.net/problem/2587쉬운 문제라 설명은 pass
출처 | https://www.acmicpc.net/problem/1541괄호가 없는 식이 주어졌을 때 '-' 이후에 '+'가 나오면 '-' 뒤에 괄호를 쳤을 때 뒤에 값들의 합이 음수로 변하기 때문에 값이 작아지게 된다.결국 '-'를 기준으로 해서 괄호를 치
출처 | https://www.acmicpc.net/problem/9012기본적인 Stack 문제이다. if문을 어떻게 사용하느냐에 따라 조건 분기를 다르게 가는데 첫 번째 for문을 통해서 돌면서 if문 elif 문으로 2개의 경우의 수로 구체화 하여 풀었다
참고 | 문제 https://www.acmicpc.net/problem/1932 해설 https://soohyun6879.tistory.com/157
출처 | https://www.acmicpc.net/problem/9184아직 동적프로그래밍 잘 모르겠다.. 우선 의사코드 보고 풀기는 했는데 더 공부를 해야 겠다.
출처 | https://www.acmicpc.net/해당 설명을 풀어보면, 피보나치 수열의 패턴이라는 것을 알 수 있다. 그 점을 참고해 작성하면 된다.
출처 | https://www.acmicpc.net/problem/1912참고 사이트첫 번째. i번째 데이터 이전까지 합을 계산해 봤을 때 최대값을 지속적으로 기록한다. 원칙1. 이전까지의 합이, 그냥 i번째 숫자보다 작은 경우 이전의 기록들은 무의미하다. 그
출처 | https://www.acmicpc.net/problem/1149O(n)List\[]N번 집의 색은 N-1번 집의 색과 같지 않아야 한다. -> PointMin를 통해서 최솟값을 구한다.
출처 | https://www.acmicpc.net/problem/1026A배열의 최소값과 B배열의 최대값을 곱해서 s에 더해준다.그리고 pop함수를 이용해서 A배열의 최소값과 B배열의 최대값을 배열에서 빼주는 걸 반복한다.이 방식을 이용하면 B배열을 재배열하
출처 | https://www.acmicpc.net/problem/1789수들을 어떻게 선택할 것인가?문제에서 주어진 자연수 S를 만들기 위해 어떤 자연수들을 선택해야 하는지 고민해보아야 한다. 주어진 수 S를 만드는 데 필요한 최소한의 수를 선택하는 것이 목
출처 | https://www.acmicpc.net/problem/10162어려운 문제는 아니여서 설명은 생략하겠다.
출처 | https://www.acmicpc.net/problem/13305minPrice 변수는 현재까지 본 가격 중 가장 낮은 가격을 나타낸다. 초기값으로 첫 번째 가격 price0을 설정만약 현재 가격 pricei가 이전까지 본 최소 가격 minPrice
출쳐 |https://www.acmicpc.net/problem/1715먼저 해당 문제를 풀기 전 우선순위 큐에 대해서 알아야 된다.해당 사이트를 참고하면 된다.
출처 | https://www.acmicpc.net/problem/10828command = sys.stdin.readline().split(): 루프 내에서는 표준 입력에서 한 줄을 읽어와 단어로 나누고 결과를 command 리스트에 저장한다.command0
출처 | https://www.acmicpc.net/problem/1920(2)이진탐색에 대한 공부가 필요하다. 해당 부분을 참고하여 문제 조건을 풀면 된다.
출처 | https://www.acmicpc.net/problem/2217이 문제의 핵심 아이디어는 가장 낮은 중량을 들 수 있는 로프를 사용하는 것이 가장 효율적이며, 그 중량이 가장 낮은 로프가 물체를 들어 올릴 수 있는 중량을 제한한다 따라서 모든 로프
출처 https://www.acmicpc.net/problem/9934arr를 2차원 리스트로 선언한 이유는 Tree의 Depth를 나타내기 위해서다. inorder는 사용자로부터 입력받은 값을 저장하는 리스트로 중위순회 할 때 FocusKeyPoint 메소드
출처 | https://www.acmicpc.net/problem/2164
출처 | https://www.acmicpc.net/status?user_id=ohjihwan123&problem_id=10845&from_mine=1
출처 | https://www.acmicpc.net/problem/10773재현이는 잘못된 수를 부를 때마다 0을 외쳐서, 가장 최근에 재민이가 쓴 수를 지우게 시킨다. -> 핵심 문제 설명에서 Stack을 활용하여 구현 해야 된 다는 것을 인지했다.그 수의
출처 | https://www.acmicpc.net/problem/18258리스트로 선언해서 pop(0)를 하게 되면, 첫 번째 요소를 pop 하고나서 나머지 요소들의 인덱스를 1칸씩 당기는 과정에서 O(n)의 계산량이 발생하기 때문에 deque를 이용해서 시
출처 | https://www.acmicpc.net/problem/10866우선 덱에 대한 공부를 먼저 하고 -> 각 요구사항에 맞게 구현하면 된다.
출처 | https://www.acmicpc.net/problem/1927try .. except를 실행한 이유는 heapq.heappop(queue)를 실행하는 부분에서 예외가 발생할 수 있는 상황을 처리하기 위해서다.heapq.heappop은 힙(Heap)
출처 | https://www.acmicpc.net/problem/11279최대 힙heapq에서는 최대 힙을 제공하지 않는다. 따라서 다음과 같이 부호를 변경하는 방법을 사용해서 최대 힙을 구현한다. 부호를 바꿔서 최소 힙에 넣어준 뒤에 최솟값부터 pop을 해
출처 | https://www.acmicpc.net/problem/1158요세푸스 문제에 대한 설명은 해당 부분을 참고하면 된다. 우선 어떤 자료구조를 쓸 것인가? 필자는 queue을 이용해서 해당 부분을 저장할 때 mod을 이용하여 pop 하려고 했다. 쉽게
출처 | https://www.acmicpc.net/problem/1966필자는 해당 문제가 이해가 되지 않아 3번 정도 다시 읽었다.Key값은 m의 설정과 best(최댓값) front(가장 앞에 있는 값을 통해) 구현을 했다.
출처 | https://www.acmicpc.net/problem/1874
출처 | https://www.acmicpc.net/problem/1935
출처 | https://www.acmicpc.net/problem/2346전체적인 설계 및 방향 업로드중..
출처 | https://www.acmicpc.net/problem/10799해당 문제는 문제를 분석 하는데 있어 많은 시간이 소요 됐다. 문제를 풀 때 마다 분석력의 필요성을 느끼고 있다.1번 예제와 2번 예제를 이해해야 한다. 1) 레이저가 나올 때 여는 괄