[BOJ] 13904번 - 과제 (Java)
🛠️ 문제 🛠️ 🗒️ 설명 🗒️ 이 문제에서 핵심은 마감기한이다. 우선 당연히 점수가 최대로 되려면 과제에 부여된 점수가 큰 것을 해야한다. 하지만 마감기한이 지나면 아무리 높아도 쓸 수 없다. 위의 그림과 같이 예제를 2가지 방법으로 정렬해보았다 마감기한을 오름차순으로 정렬, 마감기한이 같으면 점수는 내림차순으로 정렬 마감기한을 내림차순으로 정렬, 마감기한이 같으면 점수는 내림차순으로 정렬 1. 마감기한을 오름차순으로 정렬한 후 1일부터 확인하기 1일째 : 1, 2, 3, 4, 4, 4, 6 2일째 : 2, 3, 4, 4, 4, 6 3일째 : 3, 4, 4, 4, 6 4일째 : 4, 4, 4, 6 5일째 : 6 6일째 : 6 수행할 수 있는 과제는 과제를 수행하는 날짜에 따라 다르다. 1일째에 어느 문..
2024. 1. 5.
[Programmers] 자동차 대여 기록에서 장기/단기 대여 구분하기 (MySQL)
https://school.programmers.co.kr/learn/courses/30/lessons/151138 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🗒️ ERD ✏️ 제출 정답 코드 SELECT HISTORY_ID, CAR_ID, DATE_FORMAT(START_DATE, '%Y-%m-%d') AS START_DATE, DATE_FORMAT(END_DATE, '%Y-%m-%d') AS END_DATE, IF (DATEDIFF(END_DATE, START_DATE) >= 29, '장기 대여', '단기 대여') AS RENT_TYPE FROM ..
2023. 12. 29.
[BOJ] 10942번 - 팰린드롬? (Java)
🛠️ 문제 🛠️ 🗒️ 설명 🗒️ 팰린드롬이란? 거꾸로 읽어도 제대로 읽는 것과 같은 문장이나 낱말, 숫자, 문자열(sequence of characters) 등 즉, 앞뒤로 읽어도 똑같다! (ex. 토마토) [위키] https://ko.wikipedia.org/wiki/%ED%9A%8C%EB%AC%B8 이는 3가지 경우로 나누어 볼 수 있다. 길이가 1인 경우 1, 2, 3, a, b, c 무조건 팰린드롬이다. 길이가 2인 경우 11, 22, 33, aa, bb, cc 두 문자가 같을 경우에만 팰린드롬이다. 길이가 3이상인 경우 121, aba 맨 앞의 문자와 맨 끝의 문자가 같고 중간의 문자열이 팰린드롬일 경우에만 팰린드롬이다. 위의 성질을 이용해서 문자열에서 어느 부분이 팰린드롬인지 알아낼 수 있다..
2023. 12. 22.
[BOJ] 2437번 - 저울 (Python)
🛠️ 문제 🛠️ 🗒️ 설명 🗒️ 우선 예시 중에서 추 [1, 1, 2]만 가지고 있다고 생각해보자. 그러면 측정할 수 있는 무게는 위의 그림과 같다. 다른 예시로 [1, 2, 3]으로 생각해보면, 1 = 1 2 = 2 3 = 3 4 = 1+3 5 = 2+3 6 = 1+2+3 위와 같이 측정할 수 있다. 즉, 가지고 있는 추들의 무게를 합한 값 이하의 값들은 측정할 수 있다는 것을 알 수 있다. 단, 추의 무게들이 정렬이 되어있어야 하며 추와 추 사이의 무게 차이가 크게 나면 안된다. 여기서 추 사이의 무게 차이가 얼마만큼 차이가 나면 안되는지를 생각해봐야한다. 문제에서 주어진 예시로 현재 [1, 1, 2, 3]의 추를 가지고 있어 7까지 측정할 수 있다고 하자. 다음 추가 현재 측정할 수 없는 8보다 작..
2023. 10. 27.