본문 바로가기

Coding Test/Java Coding Test219

[프로그래머스 / 자바] - 최빈값 구하기 최빈값 구하기 - LV.0문제정수 배열 array가 매개변수로 주어집니다. 최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 최빈값을 출력하는 문제입니다. 최빈값이 여러 개면 -1을 return 합니다.테스트 (인텔리제이)Arrays 클래스의 sort 메서드로 array 변수를 정렬시켜줍니다.이후  array의 원소 중에서 같은 값이 몇개 있는지 카운트 해줄 정수 배열 count를 선언하고 크기는 array의 마지막 원소 만큼의 크기로 선언해줍니다.이제 향상 for문으로 array의 원소를 하나씩 꺼내도록 하고 count의 인덱스 번호를 array의 원소 번호로 하고 해당 원소를 1증가하도록 해줍니다. (array의 원소를 인덱스로 사용하여 카운팅 한다면 array의 원소가 몇개인지 확인할 .. 2024. 9. 30.
[프로그래머스 / 자바] - 안전지대 안전지대 - LV.0문제정수 2차원 배열 board가 매개변수로 주어집니다. n * n 지역이 있습니다. 지뢰가 있는 지역과 지뢰에 인접한 위, 아래, 좌, 우 대각선 칸을 모두 위험지역으로 분류합니다. board에는 지뢰가 매설 된 지역 1과, 지뢰가 없는 지역 0만 존재합니다. 안전한 지역의 칸 수를 출력하는 문제입니다.테스트 (인텔리제이)board는 n * n 배열이라는 제한사항이 있기 때문에 answer를 n * n으로 초기화를 해줍니다.danger라는 문자열 배열을 선언하는데 여기서는 Set 인터페이스를 사용할 생각입니다.danger에는 1과 근접한 배열의 번호를 저장하고 마지막에 answer에서 danger를 빼주면 안전지대를 구할 수 있기 때문이고 Set을 쓴다면 중첩되는 부분을 지울 수 있.. 2024. 9. 29.
[프로그래머스 / 자바] - OX퀴즈 OX퀴즈 - LV.0문제문자열 배열 quiz가 매개변수로 주어집니다.quiz에는 덧셈, 뺄셈 수식들이 'X [연산자] Y = Z' 형태로 들어있습니다.수식이 옳다면 "O"를 틀리다면 "X"를 순서대로 담은 배열을 출력하는 문제입니다.테스트 (인텔리제이)quiz는 문자열 배열이기 때문에 정수와 +, -, = 기호와 분리하고연산 기호를 비교하여 풀면 되겠다 생각했습니다.그래서 quiz의 원소를 하나씩 꺼내서 비교할 수 있도록 for문을 사용하고그 원소를 split 메서드를 이용하여 공백 기준으로 문자열을 분리합니다.분리된 문자열은 Integer 클래스의 parseInt 메서드를 이용하여 숫자로 된 문자열을 정수로 변환해줍니다.여기서 숫자의 위치를 알 수 있는 방법은 quiz 원소의 형태가 정수,공백,연산기호.. 2024. 9. 28.
[프로그래머스 / 자바] - 연속된 수의 합 연속된 수의 합 - LV.0문제정수 num과 total이 매개변수로 주어집니다.연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다.연속된 수 num개를 더한 값이 total이 될 때,정수 배열을 오름차순으로 담아 출력하는 문제입니다.테스트 (인텔리제이)입출력 예에서 발견한 사실이 num이 홀수인 경우  total / num을 하면 연속된 수의 중간 나온다는 것을 발견할 수 있었습니다.여기에 num - 1의 값에 2를 나눈 몫을 뺴면 연속된 숫자의 시작을 알 수 있습니다.이제 num만큼 반복하는 for문을 만들고 answer에 시작하는 숫자부터 하나씩 증가하게 하여 담아주면 됩니다.package com.namji.codingtest;import java.util.Arrays;public c.. 2024. 9. 27.
[프로그래머스 / 자바] - 코드 처리하기 코드 처리하기 - LV.0문제문자열 code가 매개변수로 주어집니다.code를 앞에서부터 읽으면서 만약 문자가 "1"이면 mode를 바꿉니다.mode에 따라 code를 읽어가면서 문자열 ret을 만들어냅니다.mode는 0과 1이 있으며, idx를 0 부터 code의 길이 - 1 까지 1씩 키워나가면서code[idx]의 값에 따라 다음과 같이 행동합니다. mode가 0일 때 code[idx]가 "1"이 아니면 idx가 짝수일 때만 ret의 맨 뒤에 code[idx]를 추가합니다.code[idx]가 "1"이면 mode를 0에서 1로 바꿉니다. mode가 1일 때code[idx]가 "1"이 아니면 idx가 홀수일 때만 ret의 맨 뒤에 code[idx]를 추가합니다.code[idx]가 "1"이면 mode를 1.. 2024. 9. 26.