나의 개발일지🌿 코딩테스트

[백준] 17848 - 진우의 달 여행 (Small)문제 보기 ❓ 문제 설명우주비행사 진우는 지구에서 달까지 연료 소비를 최소화하며 이동하고 싶다.지구에서 시작해 아래 방향으로만 한 칸씩 이동할 수 있고,이동할 때 ↙, ↓, ↘ 방향으로만 갈 수 있다. 단, 같은 방향으로 두 번 연속 이동하는 것은 불가능하다.이 조건을 지키며 최소 연료 소비량을 구하는 문제. 💡 접근 방법이동은 항상 아래 방향이므로, (0, y) → (N-1, y')로 가는 모든 경로를 고려해야 한다.방향은 총 3가지 (↙, ↓, ↘)같은 방향 연속 사용 금지 조건이 있으므로, 직전 방향을 기억해야 한다.따라서 DFS로 모든 경우의 수를 탐색하며, 이전 방향과 현재 방향을 비교해 연속 이동을 막고, 누적 연료량의 최솟값을 갱신해 ..
[1259] 팰린드롬수 문제 보기 Question어떤 단어를 뒤에서부터 읽어도 똑같다면 그 단어를 팰린드롬이라고 한다. 'radar', 'sees'는 팰린드롬이다.수도 팰린드롬으로 취급할 수 있다.수의 숫자들을 뒤에서부터 읽어도 같다면 그 수는 팰린드롬수다.121, 12421 등은 팰린드롬수다.123, 1231은 뒤에서부터 읽으면 다르므로 팰린드롬수가 아니다.또한 10도 팰린드롬수가 아닌데, 앞에 무의미한 0이 올 수 있다면 010이 되어 팰린드롬수로 취급할 수도 있지만,특별히 이번 문제에서는 무의미한 0이 앞에 올 수 없다고 하자. Input입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다.입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함..
[1181] 단어 정렬 문제 보기 Question알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오.길이가 짧은 것부터길이가 같으면 사전 순으로단, 중복된 단어는 하나만 남기고 제거해야 한다. Input첫째 줄에 단어의 개수 N이 주어진다.(1 ≤ N ≤ 20,000)둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다.주어지는 문자열의 길이는 50을 넘지 않는다.Output조건에 따라 정렬하여 단어들을 출력한다. Answer💡 저는 이 문제를 아래 두 메서드를 이용하여 해결하였습니다Comparator.comparingInt()숫자값을 기준으로 정렬할 때 사용Arrays.sort(str, Comparator.compa..
Question문제 보기 과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인 것을 알아냈다.주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오.  Input입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다.각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. Ouput각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다.  Answer# 개념 및 주의사항이 문제에서 주의해야 하는 것은 3가지 있습니다.1, 입력은 여러번 받을 수 있으며 0 0 0을 입력할 시 종료2. 공백으로 나누어진 3개의 입력 값중 가장 큰 값은 빗변 c로 사용하기3. 피타고라스의 정리를 이용하여 직각..
Question문제 보기 더보기상근이는 매일 아침 알람을 듣고 일어난다.알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다.상근이는 모든 방법을 동원해 보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다.이런 상근이를 불쌍하게 보던 창영이는 자신이 사용하는 방법을 추천해 주었다.바로 "45분 일찍 알람 설정하기"이다.이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다.어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다.이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다.현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면,이..
Question문제 보기컴퓨터를 제조하는 회사인 KOI 전자에서는제조하는 컴퓨터마다 6자리의 고유번호를 매긴다.고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들어간다.검증수는 고유번호의 처음 5자리에 들어가는 5개의 숫자를각각 제곱한 수의 합을 10으로 나눈 나머지이다.예를 들어 고유번호의 처음 5자리의 숫자들이 04256이면,각 숫자를 제곱한 수들의 합 0+16+4+25+36 = 81 을 10으로 나눈 나머지인 1이 검증수이다. Input첫째 줄에 고유번호의 처음 5자리의 숫자들이 빈칸을 사이에 두고 하나씩 주어진다. Output첫째 줄에 검증수를 출력한다.  Answer💡 이 문제는 즉 입력 받은 수의 제곱한 값을 모두 더해주면 됩니다   ..
dOuOb