꾸준하게 기록하기

· Algorithm
문제해설 해당 문제는 처음에 입력한 숫자만큼 O와 X의 배열이 한줄씩 주어지고 해당하는 점수를 산출하여 각각 출력하는 문제이다. 반복문을 이중으로 사용했다. 첫 반복문은 처음에 입력한 숫자만큼 반복하여 모든 배열을 받을 수 있도록 설정하고, 두번째 반복문은 각 배열마다 O와 X의 점수를 산정하여 차근차근 점수를 매길 수 있도록 설정하였다. 여기에서 O일 경우 eachScore를 1씩 증가시켜 totalScore에 더하게 하고 X일 경우 eachScore를 초기화 시켰다. 결과코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static ..
· Algorithm
해당 문제는 10번동안 입력한 숫자를 42로 나누었을 때 나머지들을 구하고 해당 나머지들의 갯수를 중복 없이 갯수를 구하여 출력하는 문제이다. 처음에는 반복문을 통해 boolean배열을 이용해 나머지를 index로 생각하여 true로 변경하여 나타낸 후, 해당 배열에서 true의 수를 count하는 방식으로 진행했었다. 이후 다른분들의 코딩 결과를 보니 위의 방법보다 코드의 길이가 간결하고 사용하기 쉬운 HashSet 클래스를 알게되었고 해당 방식을 통해 다시 풀어보았다. HashSet의 특징으로 크게 해시 테이블을 이용하는 것과 중복된 값을 저장하지 않는다는 점이 있었다. 해당 HashSet에 대해서는 나중에 JAVA 카테고리에 포스팅해보려 한다. import java.io.BufferedReader;..
· Algorithm
5597번 문제는 30개의 숫자 중에서 제시되지 않은 숫자를 찾아 결과값으로 출력하는 문제이다. 문제 해결을 위해 boolean 배열을 이용하였고 반복해서 입력받은 숫자들을 인덱스로 활용해 해당 배열의 값을 true로 변환시켜 준 다음 완료 후 다시 반복문을 통해 인덱스 1부터 30까지 돌려주어 false로 남아있는 인덱스 값을 출력해주는 과정을 통해 해결하였다. 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 = n..
· Algorithm
이 문제는 9개의 자연수가 주어졌을 때 해당 자연수들 중 최댓값을 구하고 해당 숫자의 순번까지 구하는 문제인데 배열로 만든 뒤 (사실 배열로 안만들어도 충분히 풀 수 있는 문제이긴 하다) 최댓값과 해당하는 값의 인덱스 값을 받아와 출력해보려고 한다. 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[] arr =..
· Algorithm
문제를 보면 N개의 정수가 주어질 때 해당 값들 중에서 최솟값과 최댓값을 구하면 되는 문제인데 N개의 수를 입력받아 배열로 만들고 해당 배열을 이용해서 최댓값과 최솟값을 찾으면 될 것 같다. 먼저 Scanner를 이용해서 작성해 보자 import java.util.Scanner; public class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] arr = new int[N]; int max = -1000000;// max는 가능한 정수 중 가장 작은 값을 두고 int min = 1000000;// min은 가능한 정수 중 가장 큰 값을 두고 // ..