반응형

알고리즘/백준(BAEKJOON) 25

4673 셀프넘버 JAVA 백준 문제풀이

처음엔 무슨말인지 잘 이해가 되지않아 한참을 보았다. 요점은 1~10000이하의 생성자가 없는 수 를 구하는것. [접근방식] 1.boolean 배열을 선언하여 셀프 넘버를 구분했다. (1~10000이하의 수 이기 때문에 배열의길이를 [10001]로 설정했다.) 2. for문을통해 1부터 10000까지 d(i)를 구한다. 3. d(i)를 메소드로 계산을 해준 후 나온값을 n저장하고 n의 값이 10001보다 작을경우 배열의[n]값을 true로 선언을 해준다. 4.이렇게 한다면 n이 true값으로 있는 수는 생성자가 있다는 뜻! 5.다시한번 for문을 통해 1~10000까지 돌면서 해당 배열에 저장된 값을 돌면서 flase( 생성자가 없는 값)만 출력해준다. 1 2 3 4 5 6 7 8 9 10 11 12 1..

1차원 배열 8958/자바/Scanner/BufferReader

https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 주의할 점 각 케이스마다 점수를 출력한다(println). O 의 연속수 만큼 점수를 누적하여 합산하고 X가 나오면 누적값은 0으로 초기화 된다. 문자열 O X 이기 떄문에 배열은 String 이다. 방법1 Scanner를 이용하기 1.for문 이용 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ..

1546/평균/1차원 배열/자바/JAVA

이 문제는 1. 첫줄에 과목의 갯수 2. 두번째 줄에 과목별 점수가 공백을 기준으로 나타내져 있다. 3. 정답 출력값의 절대오차 또는 상대오차는 0^(-2), 즉 0.01 까지 허용한다. 4. 입력된 점수중 최대값을 찾고 각각의 과목들을 (과목/최대값)*100 처리를 한 후 나온 값들을 더해서 다시한번 과목의 갯수로 나눠 새로운 평균을 구해야한다. 첫번째 방법은 scanner를 이용한 방법이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 package exam.array; import java.util.Arrays; import java.util.Scanner; public class Main..

3052/백준/JAVA /1차원 배열/나머지 구하기/ HashSet

3052번: 나머지 (acmicpc.net) 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 이 문제는 입력된 10 가지의 값을 각자 42로 나눈 나머지를 구하여 나머지의 값이 다른 값의 갯수를 구하는 문제이다. 이 문제를 해결할 수 있는 가장 간단한 방법은 HashSet을 이용하는 것이다. -HashSet 은 자바 Collection 중 Set 의 파생클래스이다. (Set을 집합으로 생각하면 쉽다.) HashSet의 몇 가지 특징 중복되는 원소를 넣을 경우 하나만 저장한다. HashSet 은 순서 개념이 없다. Collections.sort() 메소드를 사용불가. (만약 정렬을..

10871/X보다 작은 수/자바 /백준

간단한 문제이다. N값과 X값 두개의 입력값이 들어온다. N값은 수열을 이루는 정수로 10을 입력시 1~9까지의 정수가 주어지는거고 X값이 입력되면 N값의 수열 중에서 X값보다 작은 수들만 순서대로 + 공백으로 나열하면 되는거다 . 예제처럼 N = 10 X = 5라는 값이 주어지면 1~9중에서 5미만의 정수들은 순서대로 + 공백 으로 출력되도록 하면 되는것이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import java.util.Scanner; public class Main10_1 { static int N,X; public static void main(String[] args) throws Exception{ Scanner sc = new Scanne..

11021/백준/A+B-7/자바/for문

이번문제는 입력값 T를 받은 후 T의 횟수만큼 입력값 a,b를 a+b로 더한 값으로 "Case #(횟수의 숫자) : " + (a+b의합) 으로 나타내주면된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 import java.util.*; import java.io.*; public class Main7_1 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new Outpu..

2742/백준/for문 /자바

이문제는 바로이전 N찍기의 순서를 반대로 출력하라는 문제이다. 2020/07/31 - [백준(BAEKJOON)] - 2741/N찍기/백준/자바/Java/for문 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main6 { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedR..

2741/N찍기/백준/자바/Java/for문

이번 for문 연습문제는 간단하다. 100,000보다 작은 수 N이 입력되면 1부터 N까지의 값을 한줄에 하나씩 나타내면된다. 반복을 통해서 한번에 한칸씩 적어내려간다 생각하고 시도하면 된다. Buffered와scanner 를 사용하는 방법 두 가지를 시도해보았다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; //N찍기 public class Main5 { public static void main(Stri..

15552/빠른 A+B/자바/for문

이 문제는 저번글에서 다룬 A+B를 더 빠른 결과를 출력할 수 있는 방법을 알아보는 문제이다. 2020/07/28 - [백준(BAEKJOON)] - 10950/백준/A+B - 3/자바/java 10950/백준/A+B - 3/자바/java 간단한 for문 문제이다 A값과B의값을 scanner를 사용하여 입력받은 후 A와 B를 더해주는 식을 사용하면된다. 단! 첫째줄에 입력되는 테스트갯수 T만큼만 반복하여야 한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 jojelly.tistory.com 기존 방법을 scanner를 사용했다면 이번에는 buffereader와 bufferwtiter를 사용하여 입력값과 출력값을 나타낸다. buffer를 사용하는 이유는 테스트 케이스가 만약에 작을땐 S..

8393/ 백준 /합/ for문/자바

입력되는 숫자를 기준으로 1부터 1씩 수를 증가시킨 합을 구해주는 내용이다. 3을 예로들면 1+2+3= 6 즉 6이 출력되도록해주는 문제이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import java.util.Scanner; //n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램 public class Main3_plus { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a, sum; a = sc.nextInt(); sum = 0; for (int i = 1; i

반응형