Programmers

🔗 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 및 해석 매 skill마다 board를 바꾸면, 시간복잡도가 너무 증가한다. 따라서 매번 바꾸는 방식은 안된다. 여기서 누적합 혹은 DP방식으로 풀어야 한다는 것을 알 수 있다. 여기서 2차원 배열에서의 누적합으로 풀어야 하는데, 풀이 방식은 각 모서리에 마킹을 해두는 것이다. Attack 기준으로 아래 코드에서도 볼 수 있듯이 4x4 사이즈에서는 5x5 사이즈의 임시 맵의 모서리에 마킹을 해둔다. MAP[r1][c1] -= degree; MAP[r1][c2 + 1] += degr..
🔗 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 및 해석 각 차량번호마다 key를 부여한다. 이 때, map 자체에서 key에 대해서 오름차순으로 정렬한다. 이 key에 시간을 누적한다. 모든 시간이 누적되었을 때, 아직 입차되어 있는 상태인 자동차만 따로 시간을 더해준다. 시간에 대한 주차요금을 정산하여 answer에 넣어준다. ⭐️ 정답 코드 및 설명 #include #include #include #include using namespace std; vector solution(vector fees, vector recor..
🔗 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 및 해석 일단 K진수를 구한다. 0을 기준으로 K진수를 split한다. split한 수들이 소수인지 판별하고, 소수이면 answer에 1을 더한다. ⭐️ 정답 코드 및 설명 #include #include #include #include #include using namespace std; bool isSosu(long n){ if(n==1||n==0) return false; for(int i=2; i=k){ string i = to_string(n%k); n/=k; kNum+=..
🔗 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 및 해석 사용자마다 map를 사용해서 신고한 횟수가 아닌 신고 당한 ID를 모은다. 신고 당한 ID의 갯수 = 나를 신고한 사람이므로, 이 점을 이용해서 풀면 된다. ⭐️ 정답 코드 및 설명 #include #include #include #include #include using namespace std; map myReport; // 유저 : 해당 유저를 신고한 ID map user; // id : index vector solution(vector id_list, vector..
🔗 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 및 해석 최악의 경우 모든 금(10^9)+은(10^9) 을 10^5*2 만큼 움직여야 하므로 400조의 시간이 걸린다. 이는 일반적인 방법으로는 해결할 수 없고, "이분탐색"과 같은 방식으로 해결할 수 있을 것으로 보인다. 하지만, 어떤 조건이 성립해야 모두 시간안에 옮길 수 있을까? 라는 조건은 쉽게 생각나지 않는다. (저도 이 부분은 구글링을 했습니다.) 최대로 옮길 수 있는 금의 양 >= a && 최대로 옮길 수 있는 은의 양 >= b && 금+은 통합해서 최대로 옮길 수 있..
🔗 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 및 해석 직사각형의 크기만큼 모두 더하면 최악의 경우 $$1000\times1000\times250000$$ 이라는 말도안되는 경우의 수가 발생하므로 다른 방법을 생각해야 한다. 여기서 DP 아니면 누적합이 보통은 떠오를 텐데, 솔직히 문제 후기에서 말한듯이 둘 중 하나를 선택하고 생각하는 것은 개인의 능력이 아닐까 싶다. 이 문제는 제목에 써놓은 듯이 누적합 문제이다. 일차원 누적합이 아닌 2차원 누적합이니 다른 방법이 필요한데 아래 만약, (0,0) (2,2) 에 5를 더한다고..
🔗 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 및 해석 테이블의 모든 정보를 조회해야 하므로 SELECT * 을 해준다. 가장 비싼 식품의 정보라는 조건이 있으므로 WHERE 에서 PRICE의 MAX값을 출력할 수 있도록 조건을 설정해줘야 한다. WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT) PRICE 가 테이블에서 가장큰 PRICE일 때, *을 출력한다. 라는 문구가 완성된다. ⭐️ 정답 코드 및 설명 SELECT * FROM FOOD_PRODUCT WHERE PRICE = ( ..
🔗 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 및 해석 동물의 아이디와 이름, 들어온 날짜 3가지만 조회해주면 되는 간단한 문제다. SELECT ANIMAL_ID, NAME, DATETIME 여기서 DATETIME 은 년,월,일 그리고 이름은 '날짜' 로 바꿔야 하므로 DATE_FORMAT 을 이용해 년,월,일 로 처리해주고 AS '날짜' 로 열의 이름을 '날짜' 로 바꿔준다. ANIMAL_ID 로 정렬해야 하므로 ORDER BY ANIMAL_ID 을 추가해주면 끝난다. ⭐️ 정답 코드 및 설명 SELECT ANIMAL_ID,..
RealTone
'Programmers' 태그의 글 목록