JAVA - 백준 [BAEK JOON]/입출력과 사칙연산
[백준] 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 - JAVA [자바]
[백준] 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 - JAVA [자바]
2022.09.06https://www.acmicpc.net/problem/3003 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다. www.acmicpc.net 문제 기본 조건문만 안다면 그리 어렵지 않은 문제다. 알고리즘 [접근 방법] 체스.. 예전에 진짜 자주 두었었던 게임이다.. 킹 1, 퀸 1, 룩 2, 비숍 2, 나이트 2, 폰 8로 총 16개의 말을 활용하여 상대 말들을 하나씩 따내면서 체크메이트를 만들거나 스테일메이트 등 기본적으로 왕이 움직일 수 없게 만들거나 잡힐 수 밖에 없는 상황을 만들어 이기면 된다. 아무튼.. 위 본문에도 나와있듯 각 체스말들의 개수는 고..
[백준] 18108번 : 1998년생인 내가 태국에서는 2541년생?! - JAVA [자바]
[백준] 18108번 : 1998년생인 내가 태국에서는 2541년생?! - JAVA [자바]
2022.06.21https://www.acmicpc.net/problem/18108 18108번: 1998년생인 내가 태국에서는 2541년생?! ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국 www.acmicpc.net 문제 간단한 수리 추론 문제다! 알고리즘 [접근 방법] 문제 자체는 어렵지 않게 풀었으리라 본다. 그래도 설명하자면, 불기 연도가 주어질 때 이를 서기 연도로 바꾸어 출력하라는 것이다. 그럼 불기를 어떻게 알고 서기로 바꾸어야 할까? 문제속에 답이 있듯, 1998년생(서기)의 경우 불기로는 2541년생이라는 것이다. 즉, 서기와 불기는 5..
[백준] 10926번 : ??! - JAVA [자바]
[백준] 10926번 : ??! - JAVA [자바]
2022.06.17https://www.acmicpc.net/problem/10926 10926번: ??! 준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때 www.acmicpc.net 문제 워낙 쉬운문제라 설명 할 것은 따로 없을 것이다. 알고리즘 [접근 방법] 문제는 어렵지는 않다. 결국 입력받은 문자열에 ??! 라는 문자열을 덧붙여 출력하기만 하면 되기에 문제가 되지는 않는다. 특히나 자바에서는 문자열 연산과 String타입의 출력연산이 매우 편리하기 때문에 바로 소스코드를 보면서 소개하겠다. 2가지 방법을 사용하여 풀이한다. 이전 포스팅과 여타 다를 바 없이 아래와 같이 ..
[백준] 25083번 : 새싹 - JAVA [자바]
[백준] 25083번 : 새싹 - JAVA [자바]
2022.05.07https://www.acmicpc.net/problem/25083 25083번: 새싹 아래 예제와 같이 새싹을 출력하시오. www.acmicpc.net 문제 알고리즘 [접근 방법] 이 번 문제도 단순 출력문제다. 다만, 제어 문자(이스케이프 시퀀스)에 대해 이해를 하고 있어야 한다. 해당 부분에 대한 얘기는 아래 글에서 다루고 있으니 이 부분을 참고하여 풀이하시기를 바란다. https://st-lab.tistory.com/11
[백준] 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..
[백준] 10998번 : A×B - JAVA [자바]
[백준] 10998번 : A×B - JAVA [자바]
2020.02.07https://www.acmicpc.net/problem/10998 10998번: A×B 두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 매우 간단한 문제다! 다만 주의할 것이라면 입력이 공백 단위로 주어진다는 것이다. 2가지 입력방법을 이용하여 풀이한다. Scanner로 입력받아 연산하는 방법과 BufferedReader로 입력받아 연산하는 방법, 두 가지 방법을 통해 풀이해보고자 한다. 위 방법은 앞서 포스팅에서도 언급했으니 만약 쓰는 방법을 모른다면 아래 링크를 통해 읽어보는 것을 추천한다. https://st-lab.tistory.com/12 [백준] 1000번 : A+B - JAVA [자바] https://www.acmicpc.net..
[백준] 1001번 : A-B - JAVA [자바]
[백준] 1001번 : A-B - JAVA [자바]
2020.02.06https://www.acmicpc.net/problem/1001 1001번: A-B 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 매우 간단한 문제다! 다만 주의할 것이라면 입력이 공백 단위로 주어진다는 것이다. 2가지 입력방법을 이용하여 풀이한다. Scanner 로 입력받아 연산하는 방법과 BufferedReader 로 입력받아 연산하는 방법, 두 가지 방법을 통해 풀이해보고자 한다. 위 방법은 앞서 포스팅에서도 언급했으니 만약 쓰는 방법을 모른다면 아래 링크를 통해 읽어보는 것을 추천한다. https://st-lab.tistory.com/12 [백준] 1000번 : A+B - JAVA [자바] https://www.acmicpc.net..