제곱수의 합 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 56241 22749 16561 39.518% 문제 어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11=32+12+12(3개 항)이다. 이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11=22+22+12+12+12(5개 항)도 가능하다. 이 경우, 수학자 숌크라테스는 “11은 3개 항의 제곱수 합으로 표현할 수 있다.”라고 말한다. 또한 11은 그보다 적은 항의 제곱수 합으로 표현할 수 없으므로, 11을 그 합으로써 표현할 수 있는 제곱수 항의 최소 개수는 3이다. 주어진 자연수 N을 이렇게 제곱수들의 합으로 표현할 때에 그 항의 최소개수를 구하는 프로그램을 작성하시오. 입력 첫..
https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 우선 순위 큐를 사용해야 한다고 생각했다. numbers를 반복문을 돌며 우선순위 큐에 값이 들어 있으면 비교하여 numbers[idx]의 값이 클 경우 그것이 현재 우선순위 큐에 들어가 있는 값의 뒤큰수가 된다. 그리고 numbers[idx]값을 우선순위 큐에 넣어주도록 구현하였다. #include #include #include using namespace std; vector so..
https://school.programmers.co.kr/learn/courses/30/lessons/155651# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 생각보다 많이 어려웠다. 처음 생각했던 방법은 "퇴실 시간"을 기준으로 오름차순 정렬하여 푸는 것이다. 1. 종료 시간을 큐에 넣어준다. 2. 큐의 맨 위에 있는 값 + 10 이 그 다음 값(현재 값)의 시작시간보다 작다면 큐의 값을 하나 빼주고 다시 큐의 값과 비교한다. 3. 만약 큐가 비거나, 위의 조건에 맞지않을 경우 큐에 현재 값을 넣어준다. 4. 큐의 사이즈가 최대가 될 경우..
https://www.acmicpc.net/problem/16236 아기 상어 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 512 MB 62651 29000 17497 42.878% 문제 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다. 아기 상어는 자신의 크기보다 작은 물고기만 먹을 수 있다. 따라서, 크기가 같은..
https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 시작점에서 레버를 찍고, 레버에서 도착지점을 찍는 최단 거리를 찾는 문제다. bfs를 두번 돌리면 되겠다고 생각했다. 두번 돌려야 하므로 함수로 따로 빼서 작성해 주었다. 주의할 점은, 목표 지점에 도달하지 못하는 경우를 처리해 주어야 한다. 함수에서 목표지점에 도달하지 못한경우 1(true), 도달 한경우 0(false)를 리턴해 주도록 했다. #include #include #inc..
https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 처음 생각 했던 방법은 dp를 사용한 풀이였다. 다이아 곡괭이를 사용했을 경우, 철 곡괭이를 사용했을 경우, 돌 곡괭이를 사용했을 경우를 각각 처리하여 피로도를 배열에 저장하는 방식이었다. 피로도[2][3] -> 0번 인덱스는 이전의 각 곡괭이 사용시 최소값이고, 1번 인덱스는 이전 각 곡괭이 사용시 최소값 + 현재 곡괭이 사용시 피로도이다. 그리고 각각 곡괭이 사용 가능 개수를 저장한..