본문 바로가기

전체 글376

[백준] 2523번 : 별 찍기 - 13 – JAVA [자바] https://www.acmicpc.net/problem/2523 2523번: 별 찍기 - 13 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 문제 문제 풀이 백준 2523번 별 찍기 - 13은 백준 3 난이도의 구현 문제이다. 이 문제에서는 정수 n이 주어진다. 그리고 별 1개부터 n개까지 출력해주고 다시 n-1개부터 1개까지 새 줄에 출력만 해주면 되는 쉬운 문제이다. 코드 import java.io.*; import java.math.BigInteger; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader .. 2022. 4. 21.
[백준] 1676번 : 팩토리얼 0의 개수 – JAVA [자바] https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 문제 풀이 백준 1676번 팩토리얼 0의 개수는 실버 4 난이도의 수학 문제이다. 문제 자체는 되게 간단하다. 우선 팩토리얼 n, 즉 n! 을 구한다. 그리고 n! 에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구해서 출력만 해주면 된다. 예를 한번 보겠다. 3! = 3 × 2 × 1 = 6. 따라서 0이다. 4! = 4 × 3 × 2 × 1 = 24. 따라서 0이다. 5! = 5 × 4 × 3 × 2 × 1 = 120. 마지막에 0이 1개가 있으므로 1이다... 2022. 4. 21.
[백준] 16395번 : 파스칼의 삼각형 – JAVA [자바] https://www.acmicpc.net/problem/16395 16395번: 파스칼의 삼각형 파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다. 단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다. N번째 행 www.acmicpc.net 문제 문제 풀이 백준 16395번 파스칼의 삼각형은 실버 5 난이도의 수학, 그리고 DP 문제이다. 이 문제는 DP를 이용해서 파스칼의 삼각형을 만들기만 하면 된다. 그리고 정수 n과 k가 주어지는데 n번째 행의 k번째 수를 출력해주면 끝나는 문제이다. 우선 파스칼의 삼각형은 다음과 같이 생겼다. 이를 2차원 DP 테이블로 한번 만들어 볼 것이다. 우리는 n번째 줄까지 계산을 해야 하.. 2022. 4. 21.
[백준] 2442번 : 별 찍기 - 5 – JAVA [자바] https://www.acmicpc.net/problem/2442 문제 문제 풀이 백준 2442번 별 찍기 - 5는 브론즈 3 난이도의 구현 문제이다. 그리고 이 문제는 보통 코딩을 처음 시작할 때 많이 하는 별 찍기 문제이다. 개인적인 생각이지만 이런 유형의 문제들은 코딩의 기본기를 다지는데 되게 좋은 거 같다. 우선 이 문제에서는 n이 주어진다. 그리고 첫째 줄부터 n번째 줄까지 별들을 1, 3, 5,... 개씩 출력하면 된다. 그리고 이 별들은 위에 있는 사진처럼 가운데를 기준으로 대칭되어야 한다. 우선 이 문제에서 주어진 예제를 한번 보겠다. 예제로 n = 5가 주어졌다. n = 5이니 5줄을 출력해야 하고 1, 3, 5, 7, 9개씩 출력하면 된다. 이 문제는 for-loop을 이용해서 푼다. .. 2022. 4. 20.
[백준] 14606번 : 피자 (Small) – JAVA [자바] https://www.acmicpc.net/problem/14606 14606번: 피자 (Small) 예제1의 입력이 1이므로, 게임 시작부터 갑이 분리할 수 있는 피자탑이 없습니다. 따라서 갑이 얻는 즐거움은 0입니다. 예제2의 정답 3은 다음과 같은 과정을 통해 얻어집니다. 먼저 놀이를 시작 www.acmicpc.net 문제 문제 풀이 백준 14606번 피자 (Small)은 실버 4 난이도의 수학, 그리고 DP 문제이다. 이 문제는 그리고 2017 아주대학교 프로그래밍 경시대회 (APC) Division 2에 나온 B1번 문제였다. 이 문제는 간단한 점화식으로 푸는 게 가능하고 n의 범위가 워낙 작아서 꼭 DP를 이용해서 풀 필요도 없다. 우선 문제에서 피자판의 개수 n이 주어진다. n의 범위는 1부.. 2022. 4. 20.
[백준] 10886번 : 0 = not cute / 1 = cute – JAVA [자바] https://www.acmicpc.net/problem/10886 10886번: 0 = not cute / 1 = cute 준희는 자기가 팀에서 귀여움을 담당하고 있다고 생각한다. 하지만 연수가 볼 때 그 의견은 뭔가 좀 잘못된 것 같았다. 그렇기에 설문조사를 하여 준희가 귀여운지 아닌지 알아보기로 했다. www.acmicpc.net 문제 문제 풀이 백준 10886번 0 = not cute / 1 = cute는 브론즈 3 난이도의 수학 문제이다. 이 문제에서는 우선 설문 조사를 한 사람의 수 n이 주어지고 그리고 n명이 준희에 대한 의견들이 주어진다. 1이면 준희가 귀엽다고 했다는 것이고 0이면 준희가 귀엽지 않다고 했다는 것이다. 이 문제는 되게 간단하게 풀 수 있다. 설문조사를 한 사람은 수는 홀수.. 2022. 4. 20.
[백준] 2902번 : KMP는 왜 KMP일까? – JAVA [자바] https://www.acmicpc.net/problem/2902 2902번: KMP는 왜 KMP일까? 입력은 한 줄로 이루어져 있고, 최대 100글자의 영어 알파벳 대문자, 소문자, 그리고 하이픈 ('-', 아스키코드 45)로만 이루어져 있다. 첫 번째 글자는 항상 대문자이다. 그리고, 하이픈 뒤에는 반드 www.acmicpc.net 문제 문제 풀이 백준 2902번 KMP는 왜 KMP일까?는 브론즈 2 난이도의 구현 및 문자열 문제이다. 이 문제에서는 입력으로 한 줄의 문자열이 주어진다. 이 문자열은 이름이고 이름 사이사이가 하이픈으로 나누어져 있다. 그리고 각 이름의 첫 글자를 합쳐서 출력만 하면 된다. 이 문제는 StringTokenizer로 쉽게 풀 수 있다. Tokenizer는 토큰화 한다라는 .. 2022. 4. 18.
[백준] 1037번 : 약수 – JAVA [자바] https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 문제 문제 풀이 백준 1037번 약수는 실버 5 난이도의 수학 문제이다. 이 문제에서는 약수의 개수 n이 주어지고 그다음 줄에는 n개만큼의 약수들이 주어진다. 이 문제에서는 다음과 같이 주어졌다 : A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다. 즉, N을 A만큼 나누면 나머지는 0이라는 것이다. 이 말은 N ÷ A = B라는 것이다. 그래서 주어진 약.. 2022. 4. 18.
반응형