목록Programming/Coding test (7)
New World
원소 중 두개를 곱해 만드는 값으로 최대값을 구하는 것이니 for문을 통해 배열을 두번 돌린다. 동일한 배열에서 구하는 것이니 for문이 진행될 때 동일한 원소는 만나지 않도록 if문으로 막아준다 Math.abs의 절대값 대신 Math.max를 사용하여 절대값과 최대값을 구하는 메소드를 이용하여 답을 구하였다 import java.lang.Math.*; class Solution { public int solution(int[] numbers) { int answer = numbers[0] * numbers[1]; for(int i = 0; i < numbers.length; i++){ for(int j = 0; j < numbers.length; j++){ if(i != j){ answer = Math..
암호화된 문자열의 code 배수 번째 글자만 빼내야 하니, String으로 받은 cipher을 배열로 만들어준 후 code에서 배수 번째 글자만 빼낸 것을 모아 return 해주면 된다. import java.util.Arrays; class Solution { public String solution(String cipher, int code) { String answer = ""; String[] s = cipher.split(""); for(int i = 0; i < s.length; i++){ if((i + 1) % code == 0){ answer += s[i]; } } return answer; } }
문제 설명 작성할 숫자 갯수 입력 후, 0 입력 시 최근 입력한 숫자 삭제하여 지금까지 나온 숫자의 합 노출 우선 모든 숫자를 가지고 있을 배열을 만든다. 이후 0의 갯수에 따라 최근 입력된 숫자부터 삭제한다 Java import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int no = -1;// 마지막 원소의 위치를 가리..
문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 1. arr은 길이 1 이상, 100 이하인 배열입니다. 2. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. arr의 평균값을 구하려면 우선 arr의 모든 합을 구해야한다. length을 사용하여 arr의 배열 크기를 구하고 arr의 모든 합을 구한다. 모든 합을 구한 것을 arr의 배열 크기로 나눠 평균을 구한다. Java class Solution { public double solution(int[] arr) { double answer = 0; for(int i=0; i
문제 설명 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야하는지 반환하는 함수, solution을 완성해 주세요. 단, 작업을 500번을 반복해도 1이 되지 않는다면 –1을 반환해 주세요. 제한 사항 입력된 수, num은 1 이상 8000000 미만인 정수입니다. 입출력 예..
문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" 문제 설명을 확인하면, 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환한다고 하니 짝수와 홀수를 구분할 수 있는 함수를 작성하면 될 것 같다. 제일 손쉽게 홀짝을 구분하는 건 if 문으로 2로 나누어지는지 확인하는 것이라 아래와 같이 풀 수 있다. JAVA class Solution { public String solution(int num) { String answer = ""; if(num%2==0){ //짝수인 ..
X로 시작해서 X씩 증가하는 숫자를 n개 지니는 리스트 => 배열의 총 공간이 n개이며 첫 공간은 x이다. 또한, x 숫자만큼 증가한다. 함수 내에 배열을 지정한 명칭은 answer이니 배열의 총 공간이 n개 => long[] answer = new long [n]; 첫 공간은 x이다. => answer[0] = x; x 숫자만큼 증가 => answer[i] = x + answer[i-1]; 위 내용을 종합하면 왼쪽 이미지처럼 코드를 작성할 수 있다. 또는 왼쪽의 자바 스크립트처럼 풀이할 수도 있다. push() 함수는 배열 내에 숫자를 입력할 때 사용한다. answer의 첫 공간을 지정해주지 않고 바로 x만큼 증가한다는 것을 이용하여 x*(i+1)을 사용할 수도 있다. * push 함수 : 배열의 마지..