profile
기억할 때 까지 반복!
post-thumbnail

백준 1806번 부분합

문제풀이 코드카카오 기출에서 풀었던 보석쇼핑과 같은 투포인터 문제이다. 연속된 숫자의 합이기 때문에 한칸씩 이동하면서 포인터 두개를 관리해 나갈 수 있다.처음 첫 원소를 더해서 S 이상이 되지 않으면 S이상이 될때까지 end를 늘려가면서 더해준다. S이상이 되는 순간은

5일 전
·
0개의 댓글

순열과 조합

여러 회사의 코딩테스트를 풀어보면서 느낀 것은 순열과 조합에 대한 개념은 꼭 다른 개념과 섞여서 나온다는 것이다. 그만큼 중요도가 높은 것 같아서 따로 공부를 진행하여 정리하고자 글을 쓴다.참고 블로그n개의 숫자 중에서 r개를 뽑는 조합이다. 조합은 순서와 상관없이 들

2021년 4월 28일
·
0개의 댓글
post-thumbnail

백준 18353 병사 배치하기

풀이 코드문제문제를 보기 전에 가장 긴 증가하는 부분 순열에 관한 알고리즘 부터 알아보자. 하나의 수열이 주어졌을 때 값들이 증가하는 형태의 가장 긴 부분 순열을 찾는 문제이다. 여기서 점화식은Di = arri를 마지막 원소로 가지는 부분 수열의 최대 길이 라고 정의

2021년 4월 23일
·
0개의 댓글

Q35 못생긴 수

풀이 코드못생긴 수란 2, 3, 5만은 소인수로 가지는 수라고 한다. 단 1도 못생긴 수로 정의한다.못생긴 수에 2나 3, 5를 곱하면 역시 못생긴 수가 된다는 특징을 이용하여 문제를 해결한다. 가장 작은 못생긴 수는 1이니까 이에 2, 3, 5를 곱한 2, 3, 5도

2021년 4월 23일
·
0개의 댓글
post-thumbnail

백준 14501 퇴사

풀이 코드문제dp와 dfs 2가지의 방식으로 해결할 수 있다.dp로 풀기 위한 점화식은di = max(pi + d\[ti + i], max) 이다. max는 거꾸로 내려오면서 상담 진행 시 얻을 수 있는 최대 비용값이다. 풀어서 말하면 di는 i번째 상담을 완료한 후에

2021년 4월 23일
·
0개의 댓글

백준 1932번 정수 삼각형

풀이 코드문제다이나믹 프로그래밍으로 해결할 수 있다. 점화식은이다 다만 인덱스가 범위를 벗어나는지에 대한 방식만 해결한다면 문제는 쉽게 풀린다.

2021년 4월 23일
·
0개의 댓글

Q31 금광

풀이 코드1 . 단계에 걸쳐서 진행된다.2 . 전 단계에 수행한 결과가 현재 단계 결과를 구하는 데에 사용된다.두 가지를 통해 다이나믹 프로그래밍의 바텀업 방식으로 해결할 수 있음을 유추 할 수 있다.2차원 dp 배열을 이용해 dp 테이블을 관리하고 각 요소에서 더할

2021년 4월 23일
·
0개의 댓글
post-thumbnail

백준 18405 경쟁적 전염

풀이 코드문제상 하 좌 우로 움직인다.\-> dx, dy 배열을 만들어 반복문을 수행해 x, y좌표를 바꿔가며 바이러스 전파바이러스 번호가 낮은 순으로 진행한다.\-> 초기에 바이러스 번호순으로 정렬한 데이터를 큐에 넣는 것이 중요하겠다. 그 후부터는 자동으로 작은 번

2021년 4월 22일
·
0개의 댓글

Q27. 정렬된 배열에서 특정 수의 개수 구하기

풀이 코드시간 복잡도 O(logN)으로 해결해야 하고, 입력값이 무조건 정렬된 배열이 주어진다고 했으므로 이진 탐색으로 해결하라는 문제이다.주어진 수가 나타나는 횟수를 구하는 것이기 때문에 이 수가 처음 나타나는 index와 마지막으로 나타나는 index를 구하면 원하

2021년 4월 22일
·
0개의 댓글

프로그래머스 네트워크

풀이 코드 - union_find풀이 코드 - DFS프로그래머스 DFS 탭에 있었지만 문제와 그림을 읽자마자 union_find 자료구조가 제일 먼저 떠오르는 문제였다. 그래서 DFS로도 풀어보고 union_find 자료구조로도 풀어 보았다.일단 A에서 B로 연결되어

2021년 4월 22일
·
0개의 댓글

프로그래머스 타겟넘버

풀이 코드비교적 간단한 DFS 문제이다. +와 -의 모든 순열들을 대입하여 최종 값을 찾은 후 그 값이 target 넘버에 해당하는지 확인하면 되는 문제이다.

2021년 4월 22일
·
0개의 댓글
post-thumbnail

백준 1715 카드 정렬하기

풀이 코드문제생각을 잘 해야 하는 문제이다. 단순하게 보면 오름차순으로 정렬한 후 쭉 더해가면 답이 나오지 않을까 싶다. 반례로 20, 40, 50, 55, 70을 살펴보자.20 + 40 = 60, 그 다음으로 단순한 현재의 생각으론 60장의 묶음과 50장의 묶음에 대

2021년 4월 20일
·
0개의 댓글
post-thumbnail

백준 15686번 치킨 배달

풀이 코드문제문제를 많이 풀다보니 N과 M의 범위를 확인하고 완전 탐색으로 풀 수 있겠구나 라는 감이 잡혔다.일단 집의 위치와 치킨집의 위치를 알아야 치킨 거리를 구하고 그를 통해 도시 치킨 거리를 구할 수 있으므로 집의 위치와 치킨집의 위치를 따로 저장한다.그리고 치

2021년 4월 20일
·
0개의 댓글

Q12 기둥과 보 설치

풀이 코드어려웠다.. 문제를 풀면서 항상 느끼는거지만 아이디어, 구현 방법 자체는 어렵지 않은데 자잘한 부분들에서 놓치는 것들 때문에 시간을 엄청나게 잡아 먹는 것 같다. 50분만에 풀어야 한다고들 말하지만 4시간 정도가 걸렸다. 잘 정리해서 꼭 복습하도록 하자.사실

2021년 4월 15일
·
0개의 댓글
post-thumbnail

백준 18310 안테나

풀이 코드입력 받은 배열을 오름차순으로 정렬하여 중간 인덱스의 값을 출력하면 그것이 정답이다.중간에 안테나를 설치해야 총 거리가 최소가 되기 때문이다. 다만 중간 값이라고 하기 애매한 원소 개수가 짝수인 경우를 처리하기 위해 (n-1) / 2로 중간값을 구한다. 즉 왼

2021년 4월 15일
·
0개의 댓글
post-thumbnail

백준 14502 연구소

풀이 코드문제문제를 보면 n과 m의 값이 8 이하로 매우 작은 것을 알 수 있다. 따라서 모든 경우의 수를 따지는 알고리즘을 적용하는 문제임을 짐작해 볼 수있다. 3개의 벽을 설치한다고 하였는데 이 3개의 벽 위치에 대한 모든 경우의 수를 따져 문제를 푼다. n \*

2021년 4월 15일
·
0개의 댓글

Q18 괄호 변환

풀이 코드문제에서 말하는대로 그대로 구현하면 해결된다. 올바른 괄호인지 판단하는 것은 백준에서 풀어 본 문제이기 때문에 금방 해결할 수 있었다.이를 하나의 함수로 작성하여 후에 판별이 필요할 때 마다 사용한다.이제 문자열 p를 u와 v로 나누어야 한다. 나누는 방법은

2021년 4월 14일
·
0개의 댓글
post-thumbnail

백준 10825 국영수

문제풀이 코드간단한 정렬 알고리즘 문제이다. Student 클래스를 만들어 compareTo 메서드만 문제에서 주어진대로 구현 해 주면 된다.Student 원소들을 ArrayList로 관리하여 Collections.sort를 이용할 것인지, Student\[] 배열 자

2021년 4월 13일
·
0개의 댓글
post-thumbnail

백준 3190번 뱀

문재풀이 코드풀이 시간 40분을 목표로 하라고 하였지만 70분이 걸려서 풀었다. 구현 아이디어 자체는 괜찮았지만 역시 반복문에서의 자잘한 구현 미스가 있어서 시간이 오래 걸린 것 같다.먼저 뱀이 보드 위를 '특정 방향으로 돌아다닌다' 라고 했으므로 바로 dx, dy 배

2021년 4월 13일
·
0개의 댓글

Q10 자물쇠와 열쇠

풀이 코드문제의 핵심은 2가지이다. 아이디어를 떠올렸는가? 배열을 회전하는 것에 대해 알고 있는가?배열을 회전하는 문제에 관해선 처음 접해 보기 때문에 차근차근 회전에 관한 것부터 정리하였다. (이전 게시글 참조)이제 아이디어만 떠올리면 되겠다. 먼저 기억하자. 생각하

2021년 4월 12일
·
0개의 댓글