본문 바로가기

알고리즘 문제풀이30

Programmers [level 0] 카운트 다운 - 181899 [level 0] 카운트 다운 - 181899 문제 링크 성능 요약 메모리: 86.5 MB, 시간: 0.02 ms 구분 코딩테스트 연습 > 코딩 기초 트레이닝 문제 설명 정수 start와 end가 주어질 때, start에서 end까지 1씩 감소하는 수들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ end ≤ start ≤ 50 입출력 예 start end result 10 3 [10, 9, 8, 7, 6, 5, 4, 3] 입출력 예 설명 입출력 예 #1 10부터 3까지 1씩 감소하는 수를 담은 리스트는 [10, 9, 8, 7, 6, 5, 4, 3]입니다. Comments IntStream의 range와 rangeClosed 차이점 IntStream.ran.. 2023. 8. 11.
Programmers [level 0] rny_string - 181863 [level 0] rny_string - 181863 문제 링크 성능 요약 메모리: 71.8 MB, 시간: 12.19 ms 구분 코딩테스트 연습 > 코딩 기초 트레이닝 문제 설명 'm'과 "rn"이 모양이 비슷하게 생긴 점을 활용해 문자열에 장난을 하려고 합니다. 문자열 rny_string이 주어질 때, rny_string의 모든 'm'을 "rn"으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ rny_string의 길이 ≤ 100 rny_string은 영소문자로만 이루어져 있습니다. 입출력 예 rny_string result "masterpiece" "rnasterpiece" "programmers" "prograrnrners" "jerry" "jerry" ".. 2023. 8. 11.
Programmers [level 0] 문자열을 정수로 변환하기 - 181848 [level 0] 문자열을 정수로 변환하기 - 181848 문제 링크 성능 요약 메모리: 71.7 MB, 시간: 0.03 ms 구분 코딩테스트 연습 > 코딩 기초 트레이닝 문제 설명 숫자로만 이루어진 문자열 n_str이 주어질 때, n_str을 정수로 변환하여 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n_str ≤ 5 n_str은 0부터 9까지의 정수 문자로만 이루어져 있습니다. 입출력 예 n_str result "10" 10 "8542" 8542 입출력 예 설명 입출력 예 #1 "10"을 정수로 바꾸면 10입니다. 입출력 예 #2 "8542"를 정수로 바꾸면 8542입니다. Comments 기존 배열을 원하는 index 만큼 복사해서 새로운 배열을 만들어주는 매서드 imp.. 2023. 8. 11.
Programmers [level 0] 문자 반복 출력하기 - 120825 [level 0] 문자 반복 출력하기 - 120825 문제 링크 성능 요약 메모리: 75 MB, 시간: 9.41 ms 구분 코딩테스트 연습 > 코딩테스트 입문 문제 설명 문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요. 제한사항 2 ≤ my_string 길이 ≤ 5 2 ≤ n ≤ 10 "my_string"은 영어 대소문자로 이루어져 있습니다. 입출력 예 my_string n result "hello" 3 "hhheeellllllooo" 입출력 예 설명 입출력 예 #1 "hello"의 각 문자를 세 번씩 반복한 "hhheeellllllooo"를 return 합니다. Commen.. 2023. 8. 10.
Programmers [level 0] 진료 순서 정하기 - 120835 [level 0] 진료 순서 정하기 - 120835 문제 링크 성능 요약 메모리: 72.6 MB, 시간: 0.36 ms 구분 코딩테스트 연습 > 코딩테스트 입문 문제 설명 외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 중복된 원소는 없습니다. 1 ≤ emergency의 길이 ≤ 10 1 ≤ emergency의 원소 ≤ 100 입출력 예 emergency result [3, 76, 24] [3, 1, 2] [1, 2, 3, 4, 5, 6, 7] [7, 6, 5, 4, 3, 2, 1] [30, 10, 23,.. 2023. 8. 10.
Programmers [level 0] 외계행성의 나이 - 120834 [level 0] 외계행성의 나이 - 120834 문제 링크 성능 요약 메모리: 83 MB, 시간: 3.49 ms 구분 코딩테스트 연습 > 코딩테스트 입문 문제 설명 우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요. 제한사항 age는 자연수입니다. age ≤ 1,000 PROGRAMMERS-962 행성은 알파벳 소.. 2023. 8. 10.
Programmers [level 0] 짝수 홀수 개수 - 120824 [level 0] 짝수 홀수 개수 - 120824 문제 링크 성능 요약 메모리: 77.8 MB, 시간: 0.01 ms 구분 코딩테스트 연습 > 코딩테스트 입문 문제 설명 정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ num_list의 길이 ≤ 100 0 ≤ num_list의 원소 ≤ 1,000 입출력 예 num_list result [1, 2, 3, 4, 5] [2, 3] [1, 3, 5, 7] [0, 4] 입출력 예 설명 입출력 예 #1 [1, 2, 3, 4, 5]에는 짝수가 2, 4로 두 개, 홀수가 1, 3, 5로 세 개 있습니다. 입출력 예 #2 [1, 3, 5.. 2023. 8. 10.
삽입 정렬(Insertion sort) 삽입 정렬(Insertion sort) 삽입 정렬은 데이터 집합을 순회하면서 정렬이 필요한 요소를 뽑아내어 이를 다시 적당한 곳에 삽입해 나가는 알고리즘 뒤섞여 있는 트럼프 카드를 순서대로 다시 정리하는 모습을 생각하면 이해하기 쉬움. 가장 왼쪽에서부터 한 장씩 카드를 꺼내서 이미 정렬된 카드들 중에 올바른 자리에 끼워넣는 것과 같음 동작 방식 배열을 정렬된 부분과 정렬되지 않은 부분으로 나눠줌 정렬되지 않은 부분에서 원소를 선택하고, 그걸 정렬된 부분에 삽입함 이걸 정렬되지 않은 부분이 없을 때까지 계속 반복함 동작 방식 예시 5 1 6 4 2 3 위의 숫자들을 트럼프 카드라고 생각 앞의 카드 두 장을 선택하고, 오른쪽 카드가 왼쪽 카드보다 큰 지 비교해봄 왼쪽이 5, 오른쪽이 1 이니까 오른쪽이 더 .. 2023. 8. 9.
선택 정렬(Selection Sort) 선택 정렬(Selection Sort) 배열에서 가장 작은 값을 선택하여 순차적으로 정렬하는 방법 비교적 작은 배열에 적합하며, 큰 배열에는 비효율적임 선택 정렬 알고리즘 동작 단계 배열을 순회하면서 가장 작은 값을 찾음 가장 작은 값을 찾았다면 그 값을 배열의 맨 앞 원소와 교환 *최소값이 이미 왼쪽 끝에 위치하면 아무런 작업도 하지 않음 다음 위치에서부터 위의 과정을 반복하며 배열이 정렬될 때까지 반복 선택정렬 예시 public class SelectionSort { public static void main(String[] args) { int[] arr = {64, 25, 12, 22, 11}; int n = arr.length; for (int i = 0; i < n - 1; i++) { int.. 2023. 8. 9.