백준

    [백준] 에라토스테네스의 체

    [백준] 에라토스테네스의 체

    [백준] 2960번 에라토스테네스의 체 자바 들어가며 오늘은 시간 복잡도를 고려하여 소수를 찾는 알고리즘은 에라토스테네스의 체와 관련 문항에 대해서 정리해보려 한다. 에라토스테네스의 체 에라토스테네스의 체는 소수를 찾는 대표적인 알고리즘이다. 위 이미지는 에라토스테네스의 체의 원리를 잘 나타내고 있다. 원리 2부터 소수를 구하고자 하는 구간(N, 위 이미지에서는 120)의 모든 수를 나열한다.(주로 N+1까지의 int 배열을 생성한다.) 생성한 int 배열을 for문을 활용, i = 2부터 i

    [백준] A+B - 4(feat.BufferedReader EOF)

    [백준] A+B - 4(feat.BufferedReader EOF)

    들어가며 1일 1 커밋을 위해 백준 문제 풀이를 이어나가다 기존의 학습했던 내용으로는 해결 불가능한 부분이 발생하여 문제 해결 후, 그 과정을 기록해보고자 한다. A+B - 4 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 A+B를 출력한다. 예제 입력 1 1 1 2 3 3 4 9 8 5 2 예제 출력 2 2 5 7 17 7 EOF(End of File) 이 문제 자체의 난이도만 보았을 때는 정말 쉬운 문제이지만 가장 중요한 점은 파일 종료 조건이 없이 예제 입력만 주어졌다는 것이다...

    [백준] A+B - 8 (feat. BufferedReader, BufferdWriter)

    [백준] A+B - 8 (feat. BufferedReader, BufferdWriter)

    들어가며 코딩테스트의 기초부터 학습하고 있는 와중 기존 사용하던 Scanner와 이를 활용한 System.out,print가 아닌 보다 향상된 입출력 속도를 위해 BufferedReader와 BufferedWriter를 학습할 필요성을 느꼈다. 이전 한차례 포스트를 통해 정리했던 적이 있으나 이 기회에 다시금 정리하며 기초를 다지고자 한다. A+B - 8 설명 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다.(0 < A, B < 10) 출력 각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1..

    [백준] 2741 N찍기 Java

    [백준] 2741 N찍기 Java

    N찍기 문제 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 출력 첫째 줄부터 N번째 줄 까지 차례대로 출력한다. 예제 입출력 문제풀이 1. Scanner + sout 이번 문제는 풀이를 할 것 없이 매우 간단한 문제였기에 기본적으로 풀 수 있는 Scanner와 sout을 이용한 방법, Scanner 대신 BufferedReader를 사용한 방법 그리고 마지막으로 sout 대신 BufferedWriter까지 사용한 방법 세 가지로 문제를 풀어보았다. //Scanner 클래스와 sout으로 작성 import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc..

    [백준] 15552 빠른 A+B Java

    [백준] 15552 빠른 A+B Java

    빠른 A + B 문제 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다. C++을 사용하고 있고 cin/cout을 사용하고자 한다면, cin.tie(NULL)과 sync_with_stdio(false)를 둘 다 적용해 주고, endl 대신 개행문자(\n)를 쓰자. 단, 이렇게 하면 더 이상 scanf/printf/puts/getchar/putchar 등 C의 입출력 방식을 사용하면 안 된다. Java를 사용하고 있다면, Scanner와 System.out.println 대신 BufferedReader와 BufferedWriter를 사용할 수 있다. BufferedWriter.flush는 맨 마지막에 한 번만..

    [백준] 2480 주사위 세개 Java

    [백준] 2480 주사위 세개 Java

    2480 주사위 세개 문제 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다. 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다. 예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3×100으로 계산되어 1,300원을 받게 된다. 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2×1,000 으로 계산되어 12,000원을 받게 된다. 3개의 눈이 6, 2, 5로 주어지면 그중 가장 큰 값이 6이므로 6×100으로 계산되어 6..

    [백준] 1000 A+B Java

    [백준] 1000 A+B Java

    1000 A+B 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A+B를 출력한다. 예제입력 1 2 예제출력 3 문제풀이 기초부터 다져가기에 좋은 문제였던 것 같다. 사용 방법은 알고있지만 작성 방법을 기억하고 있지 못했던 Scanner 사용법에 대해서 익힐 수 있었다. Scanner 클래스는 갑을 입력받아와서 동작하는 클래스이다. 사용을 위해서는 util 패키지를 경로의 Scanner 클래스를 호출해와야 한다. import java.util.Scanner; 그 후 메인메소드 내부에 Scanner 클래스를 호출시켜줘야 한다. Scanner scanner = new Scanner(system...

    [백준] 10172 개 Java

    [백준] 10172 개 Java

    10172 개 문제 아래 예제와 같이 개를 출력하시오. 예제출력 |\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__| 문제풀이 직전에 풀었던 10171 고양이 문제와 유사한 문제였다. 조금 더 나아가 \(백슬래시)뿐만 아니라 "(큰따옴표) 또한 출력을 위해서는 앞에 \를 붙여 이스케이프를 해줘야한다고 한다. \(백슬래시)뿐만 아니라 "(큰따옴표)도 출력되게하려면 앞에 \를 붙여 이스케이프 시켜줘야 한다. Solution.java public class Main { public static void main(String[] args) { System.out.println("|\\_/|"); System.out.println("|q p| /}"); System.out.println(..