JAVA - 백준 [BAEK JOON]
[백준] 2739번 : 구구단 - JAVA [자바]
[백준] 2739번 : 구구단 - JAVA [자바]
2020.02.15https://www.acmicpc.net/problem/2739 2739번: 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. www.acmicpc.net 문제 매우 간단한 문제다! 다만 주의할 점이라면 출력에서 보듯이 각 문자 사이에 공백이 있으니 반드시 유의하여 공백을 꼭 추가해주어야한다. 2가지 풀이 방법 기본적으로 많이 사용되는 Scanner 로 입력받아 연산하는 방법과 BufferedReader 로 입력받아 연산하는 방법, 두 가지 방법을 통해 풀이해보고자 한다. 추가로 성능(시간)을 개선한 필자가 제출했던 코드 또한 보여주고자 한다. 위 방법은 앞서 포스팅에서도 언급했으니 만약 쓰는 방법을 모른다면 아래 링크를 통해 읽어보는 것을 추..
[백준] 10817번 : 세 수 - JAVA [자바]
[백준] 10817번 : 세 수 - JAVA [자바]
2020.02.14https://www.acmicpc.net/problem/10817 10817번: 세 수 첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100) www.acmicpc.net 문제 매우 간단한 문제다! ※ 주의할 점 입력은 공백으로 구분되어 주어진다 두 번째로 큰 정수를 출력해야 한다. 4가지 방법을 보여주고자 한다. 사실 이 문제는 세 개의 수만 주어지므로 배열에 각 원소를 넣고 정렬만 해준 뒤 두 번째 원소만 출력해주면 끝난다. 그래도 if문 분류이니... 20.02.13 ) 백준에서 if 문 카테고리에서 실습 1로 변경되었다. 20.10.25 ) 실습 1 카테고리가 없어져 기타 문제로 카테고리를 옮겼다. 정렬 메소드를 사용하지 않고 직접 배열을 정렬하여 쓰..
[백준] 2884번 : 알람 시계 - JAVA [자바]
[백준] 2884번 : 알람 시계 - JAVA [자바]
2020.02.14https://www.acmicpc.net/problem/2884 2884번: 알람 시계 문제 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다. 이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다. 바로 "45분 일찍 알람 맞추기"이다. 이 방법은 단순하다. 원래 맞춰져있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 www.acmicpc.net 문제 알람 시계 문제다. ※ 주의할 점 24시간 표현을 사용한다 입력은 공백 한 칸을 기준으로 구분되어 입력된다. 출력시 불필요한 0은..
[백준] 2753번 : 윤년 - JAVA [자바]
[백준] 2753번 : 윤년 - JAVA [자바]
2020.02.13https://www.acmicpc.net/problem/2753 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때 이다. 예를들어, 2012년은 4의 배수라서 윤년이지만, 1900년은 4의 배수이지만, 100의 배수이기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다. www.acmicpc.net 문제 2가지 입력방법을 이용하여 풀이한다. Scanner 로 입력받아 연산하는 방법과 BufferedReader 로 입력받아 연산하는 방법, 두 가지 방법을 통해 풀이해보고자 한다. 위 방법은 앞서 포스팅에서도 언급했으니 만약 쓰는 방법을 모른다면 아..
[백준] 9498번 : 시험 성적 - JAVA [자바]
[백준] 9498번 : 시험 성적 - JAVA [자바]
2020.02.13https://www.acmicpc.net/problem/9498 9498번: 시험 성적 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 문제가 아직까지는 쉬운듯 하다. 2가지 입력방법을 이용하여 풀이한다. Scanner 로 입력받아 연산하는 방법과 BufferedReader 로 입력받아 연산하는 방법, 두 가지 방법을 통해 풀이해보고자 한다. 위 방법은 앞서 포스팅에서도 언급했으니 만약 쓰는 방법을 모른다면 아래 링크를 통해 읽어보는 것을 추천한다. https://st-lab.tistory.com/12 [백준] 1000번 : A+B - JAVA [자바..
[백준] 1330번 : 두 수 비교하기 - JAVA [자바]
[백준] 1330번 : 두 수 비교하기 - JAVA [자바]
2020.02.13https://www.acmicpc.net/problem/1330 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net 문제 if 조건문의 기초 중의 기초다! ※ 주의할점 입력은 공백 한 칸으로 구분되어 두 정수가 주어진다. 2가지 풀이 방법을 제시한다. 모두 잘 아는 Scanner 로 입력받는 방법을 통해 풀어보고 다른 하나는 BufferedReader로 풀어보려 한다. 또한 추가로 삼항연산자를 이용하여 푸는 방법 또한 알려주고자 한다. 그리고 결과를 보면서 두 입력방법의 성능 차이는 많이 난다는 점을 알려주고자 한다. 풀이 - 방법 1 import java.util.Scanner; public class Main { pu..
[백준] 2588번 : 곱셈 - JAVA [자바]
[백준] 2588번 : 곱셈 - JAVA [자바]
2020.02.09https://www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net 문제 매우 간단한 문제다! 3개의 풀이 방법을 제시한다. 이 문제는 하나로 입력된 문자(숫자)를 분리하여 연산을 할 수 있는지를 확인하는 문제다. 그래서 필자가 문제 접근 방법을 3가지로 나누어서 제시하고 마지막으로는 보너스로 성능을 개선한 코드까지 합하여 3+1 코드를 보여주려 한다. 알고리즘 첫 번째 입력으로 들어오는 세 자리수 정수에 두 번째 입력으로 들어오는 정수를 분리하여 각 각 곱한 값을 출력(3~5) 한 뒤 마지막에는 원래 식의 연산 값을 출력해주어야 한다. 그럼 두 번째 입력값을 어떻게 ..
[백준] 10430 번 : 나머지 - JAVA [자바]
[백준] 10430 번 : 나머지 - JAVA [자바]
2020.02.09https://www.acmicpc.net/problem/10430 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net 문제 매우 간단한 문제다! ※ 주의할점 입력은 공백단위로 구분 된다. 나머지를 구하는 문제라 변수를 정수형으로 계산한다. 풀이하기 전에 ... 모듈러 연산 ( Modular Arithmetic ) 과 증명 위 문제에서 그냥 출력만 하고 땡이지! 라고 하기에는 너무 아까운 문제다. 모듈러 연산이라고 들어보셨는지 모르겠다. ( 아마 대부분 배웠지 않았을까..? ) 갑자기 모듈러 연산이라고? 라고 한다면 나머지와 관련된 연산식이 바로 모듈러 연산이다. 우리는 프로그래밍에서 대부분 나머지 연산 할 때 %로 표기..
[백준] 10869번 : 사칙연산 - JAVA [자바]
[백준] 10869번 : 사칙연산 - JAVA [자바]
2020.02.08https://www.acmicpc.net/problem/10869 10869번: 사칙연산 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 매우 간단한 문제다! ※ 주의할 점 입력은 공백으로 구분하여 주어진다. 나눗셈 (A/B) 의 결과는 몫만 반환한다. 2가지 입력방법을 이용하여 풀이한다. Scanner 로 입력받아 연산하는 방법과 BufferedReader 로 입력받아 연산하는 방법, 두 가지 방법을 통해 풀이해보고자 한다. 위 방법은 앞서 포스팅에서도 언급했으니 만약 쓰는 방법을 모른다면 아래 링크를 통해 읽어보는 것을 추천한다. https://st-lab.tistory.com/12 ..
[백준] 1008번 : A/B - JAVA [자바]
[백준] 1008번 : A/B - JAVA [자바]
2020.02.08https://www.acmicpc.net/problem/1008 1008번: A/B 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 매우 간단한 문제다! 다만 주의할 것이라면 입력이 공백 단위로 주어진다는 점과 출력 조건에 나와있듯이 상대오차 또는 절대오차 범위 이하여야 한다. 2가지 입력방법을 이용하여 풀이한다. Scanner 로 입력받아 연산하는 방법과 BufferedReader 로 입력받아 연산하는 방법, 두 가지 방법을 통해 풀이해보고자 한다. 위 방법은 앞서 포스팅에서도 언급했으니 만약 쓰는 방법을 모른다면 아래 링크를 통해 읽어보는 것을 추천한다. https://st-lab.tistory.com/12 [백준] 1000번 : A+B..