본문 바로가기

Coding Test/Java Coding Test219

[프로그래머스 / 자바] - 나누어 떨어지는 숫자 배열 나누어 떨어지는 숫자 배열 문제 정수 배열 arr과 정수 divisor이 매개변수로 주어집니다. arr의 원소가 divisor로 나누어 떨어지면 그 원소를 answer 배열에 담아서 출력하는 문제입니다. 여기서 출력될 때에는 answer 배열이 오름차순 정렬되어 출력되어야 하고, arr 배열에 divisor로 나누어 떨어지는 수가 없을 경우 -1을 출력해야 합니다. 테스트 (이클립스) 우선 새로운 배열이 오름차순 정렬되어 출력되는 문제를 해결하고 시작해보겠습니다. arr의 배열을 Arrays.sort() 메서드를 사용하면 arr을 오름차순 정렬 시킬 수 있습니다. 이렇게 시작하면 answer를 따로 정렬하지 않아도 되기 때문에 arr을 정렬하고 시작하겠습니다. 출력을 위한 answer 변수를 arr의 원.. 2024. 1. 20.
[프로그래머스 / 자바] - 가까운 1 찾기 가까운 1 찾기 문제 정수 배열 arr과 정수 idx가 매개변수로 주어집니다. arr의 원소 위치가 idx값보다 크면서 배열의 값이 1인 가장 작은 인덱스를 출력하는 문제입니다. idx값보다 크면서 배열의 값이 1이 없으면 -1을 출력합니다. 테스트 (이클립스) answer의 초기값을 -1로 주고 for문을 idx부터 시작하게 하여 arr의 크기만큼 순회하도록 합니다. if문을 이용하여 arr의 원소를 1과 비교합니다. 만약 1이라면 answer에 그 원소 위치를 담도록 하고 for문을 종료합니다. if문의 조건을 만족하지 않고 for문 종료될 경우 answer의 초기값인 -1을 출력하게 되어 문제를 해결할 수 있었습니다. package com.namji.codingtest.level0; public c.. 2024. 1. 19.
[프로그래머스 / 자바] - 서울에서 김서방 찾기 서울에서 김서방 찾기 문제 문자열 배열 seoul이 매개변수로 주어집니다. seoul 배열의 원소 중에서 Kim의 위치를 x를 찾아 "김서방은 x에 있다"를 출력하는 문제입니다. 테스트 (이클립스) 정수 변수 idx를 선언하고 idx 변수에 Arrays.asList를 이용하여 s를 List형으로 변환하고 indexOf 메소드를 이용하여 Kim의 원소 위치를 담도록 했습니다. for문을 이용하여 s의 크기만큼 순회하도록 하고 answer에 김서방은 idx에 있다를 담아서 문제를 해결했습니다. 다른 방법으로 for문을 s만큼 순회하도록 한 것은 똑같고 내부에 if문을 이용하여 String 클래스의 equals메소드를 이용하여 s의 원소마다 Kim과 비교하도록 하여 문제를 해결했습니다. package com... 2024. 1. 19.
[프로그래머스 / 자바] - 콜라츠 추측 콜라츠 추측 문제 정수 num이 매개변수로 주어집니다. 콜라츠 추측 문제로 입력된 수가 짝수면 2로 나누고 입력된 수가 홀수면 3을 곱하고 1을 더합니다. 위 조건을 1일 나올 때까지 반복합니다. 위 조건을 만족해야 하는 문제입니다. 1이 되기까지 500번 반복할 경우 -1을 출력하고 그렇지 않고 1번만 반복할 경우 0을 그렇지 않다면 몇번의 반복을 했는지 출력하는 문제입니다. 테스트(이클립스) while문을 이용하여 n이 1이 될때까지 반복하도록 하고 n != 1은 1이 아니라면 true이고 1이라면 false가 되기 때문에 while문 조건으로 주었습니다. while문 안에는 if문을 사용하여 n을 2로 나눴을 때 0이면 n을 2로 나눈 몫을 담고 else에는 n에 n 곱하기 3 더하기 1을 담고 c.. 2024. 1. 18.
[프로그래머스 / 자바] - 두 정수 사이의 합 두 정수 사이의 합 문제 정수 a, b가 매개변수로 주어집니다. a와 b 사이에 속한 모든 수를 더해서 출력하는 문제입니다. 테스트 (이클립스) 사이의 값을 구하기 위해 for문을 사용합니다. 여기서 a와 b가 어떤 값이 더 큰 값인지 모르기 때문에 if문에 a와 b를 비교하는 조건을 주고 그 안에서 조건에 맞게 for문을 작성해줍니다. 다른 방법으로 for문에 if문의 조건을 삼항연산자를 이용하여 풀 수도 있습니다. package com.namji.codingtest.level0; public class SumBetweenTwoIntegers { public static void main(String[] args) { /* * */ int a = 5; int b = 3; long answer = 0; .. 2024. 1. 17.