본문 바로가기

코딩테스트56

[프로그래머스] 42584번 문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/42584 초 단위로 기록한 주식 가격의 배열이 주어지면 가격이 떨어지지 않은 기간이 몇초인지 세는 아주 쉬운 문제다. 푹 쉬고 간만에 문제를 풀려고 보니 너무 쉬운걸 선택한 것 같기도 하다. 문제를 편식하면 안되는데😑 ​내가 싫어하는 dp 문제랑 dfs 문제도 좀 자주자주 풀어야 익숙해지는데!! 예시는 아래와 같이 나타났다. price return [1, 2, 3, 2, 3] [4, 3, 1, 1, 0] 첫번째 가격을 5초까지 총 비교했을때 1보다 작은 수는 없으므로 1 이상으로 유지되는 기간은 4초이다. 두번째 가격을 5초까지 총 비교했을때 이후 2보다 작은 수는 없으므로 2 이상으로 유.. 2022. 9. 9.
[프로그래머스] 42889번 문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 간만에 코드 리뷰를 하는 것같다. 하지만 문제는 여전히 꼬박꼬박 풀고있다는 점. 그렇다. 블로그 작성에 게으른 나의 탓이다. 리뷰 할 코드가 산처럼 쌓이고있어서 밍기적 하나라도 쓴다. :) ... 2019년 카카오 블라인드 채용 코딩테스트로 출제된 문제다. 작성해야할 알고리즘이 차분하게 떠오르고 구현까지 큰 어려움을 겪지 않은 것을 보니, 아 이건 레벨 1짜리 문제구나 싶었다. ㅋㅋㅋㅋ.. 2022. 8. 2.
[백준] 2525번 문제출처: https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net 현재 시각(a시 b분)과 요리하는데 오븐을 사용해야하는 시간(분 단위)이 주어지면, 현재부터 오븐을 사용하여 오븐 가동이 끝나는 시간을 구하는 문제였다. 단, 디지털 시계는 23시 다음 시로 0시가 된다. ​ 우선 두 가지 경우로 나눴다. 필요한 시간 c를 더해서 59분까지면 다음 시로 넘어가지 않기 때문에 c만 더하고 그대로 출력한다. 만약 60분 이상이 되면, 그때부터는.. 2022. 6. 16.
[백준] 2562번 문제출처: https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 매우 간단한 1차원 배열 문제이다. 한줄씩 주어지는 9개의 자연수 중 가장 큰 숫자와 그 숫자가 몇 번째의 숫자인지 출력하는 문제다. ​ 우선 9번 반복되는 반복문 내에서 값을 한줄씩 받고 그 값을 배열에 append한다. append한 값은 모두 num이라는 배열 안에 들어가고, 그 안에서 maximum 값을 구한다. maximum 값이 현재 할당받은 .. 2022. 6. 16.
[백준] 2581번 문제출처: https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 1978번처럼 소수를 찾아내서 요리하는 소수 시리즈다. 다만 1978에서 추가된 조건이 존재한다. 우선 1978번 문제의 내용을 조금 언급해볼까 한다. ​ 한 줄에 띄어쓰기로 각각 나타난 N개의 숫자 중 소수를 찾고 그 개수를 세어 출력한다. 입력값으로는 첫째 줄에 숫자의 개수 N, 둘째 줄에 N개의 숫자들이 들어온다. 출력값으로는 그 중 소수의 개수를 출력하면 된다. ​ 알고리즘에서 소수를 찾아.. 2022. 6. 16.
[백준] 11866번 문제출처: https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 요세푸스 문제는 알고리즘 문제 중 queue 문제로 분류된다. 그래서 queue에 대해 간략히 되짚어보고 가본다. queue는 선입선출(FIFO), 즉 먼저 들어온 값이 먼저 나가는 방식이다. 코드로 구현하면 아래와 같다. 11866번의 문제 내용이다. 동그란 원을 그리고 순서대로 죽죽 그어 제거해보면 금방 이해할 수 있는 문제다. 문제는 코드를 구현하는 과정이지만... 쉽게 봤다가 원하는대로 안나오고 뒷부분으로 갈수록 엉뚱한 값이 pop 되어서 당황했다. ​ 우선 n,.. 2022. 6. 16.