JAVA - 백준 [BAEK JOON]
[백준] 9012번 : 괄호 - JAVA [자바]
[백준] 9012번 : 괄호 - JAVA [자바]
2020.11.30www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 문제 스택을 활용하는 대표적인 문제다. 알고리즘 [접근 방법] 알맞은 괄호 수식이 어떤 원리인지는 모두가 이해할 것이다. 여는 괄호 '(' 가 있으면 반드시 이에 대응하는 닫는 괄호 ')' 가 있어야한다는 것이다. 그럼 이를 스택에 어떻게 활용할 수 있을까? 원리는 간단하다. 여는 괄호가 있을 때는 스택에 쌓고 닫는 괄호가 있으면 여는 괄호를 하나 지우면(pop) 된다. 그럼 총 ..
[백준] 10773번 : 제로 - JAVA [자바]
[백준] 10773번 : 제로 - JAVA [자바]
2020.11.27www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 문제 스택에 대해 알면 쉽게 풀 수 있는 문제다. 알고리즘 [접근 방법] 이 문제 또한 쉽게 풀 수 있을 것이다. 문제 지문이 길긴 하지만, 쉽게 이해하자면 0을 입력받으면 최근에 입력받았던 수를 지우면 된다. 또한 0을 입력받을 때 지울 수 있는 수가 보장된다고 했기때문에 예외 또한 고민 할 필요가 없다. 혹여 스택에 대해 잘 알지 못하는 경우 아래 글을 참고하시는 것도 좋을..
[백준] 10828번 : 스택 - JAVA [자바]
[백준] 10828번 : 스택 - JAVA [자바]
2020.11.20www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 스택 자료구조를 알고있다면 매우 쉽게 풀 수 있는 문제다. 알고리즘 [접근 방법] 스택 카테고리의 첫 문제는 말 그대로 스택을 이해하느냐에 초점을 두고 있다. 일단, 스택에 대해 모른다면 아래 글을 반드시 읽고 오시길 바란다. st-lab.tistory.com/174 자바 [JAVA] - Stack (스택) 구현하기 •자료구조 관련 목록 링크 펼치기 더보기 0. 자바 컬렉션 프레임워크 (..
[백준] 2004번 : 조합 0의 개수 - JAVA [자바]
[백준] 2004번 : 조합 0의 개수 - JAVA [자바]
2020.11.07www.acmicpc.net/problem/2004 2004번: 조합 0의 개수 첫째 줄에 정수 n, m (0 ≤ m ≤ n ≤ 2,000,000,000, n ≠ 0)이 들어온다. www.acmicpc.net 문제 이전의 팩토리얼 0의 개수를 정확히 이해하고 풀었다면 쉽게 풀 수 있는 문제다. 알고리즘 [접근 방법] 먼저 이 문제를 풀기 전에 아래 글에서 다루고 있는 0의 개수를 세는 방식을 이해하기 위해 보는 것을 추천한다. st-lab.tistory.com/165 [백준] 1676번 : 팩토리얼 0의 개수 - JAVA [자바] www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하..
[백준] 1676번 : 팩토리얼 0의 개수 - JAVA [자바]
[백준] 1676번 : 팩토리얼 0의 개수 - JAVA [자바]
2020.11.05www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 정말 정말 쉬운 문제다. 알고리즘 [접근 방법] 이러한 문제는 직감상 어떤 규칙이 있겠구나라고 생각하면 더욱 좋다. 물론, 그러지 않고 입력값에 대하여 factorial 값을 구하고, 뒤의 0의 개수를 구하는 것도 방법일 수는 있다. 그러나 입력값이 최대 500, 즉 500! 을 구해야 하는지라 BigInteger 클래스를 써서 구해야 하거니와 값도 매우 크다. 참고로 500! 의 값은 다음과 같다. 500! = 12201368259911100687012387854230469262535743..
[백준] 9375번 : 패션왕 신해빈 - JAVA [자바]
[백준] 9375번 : 패션왕 신해빈 - JAVA [자바]
2020.11.04www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net 문제 이 번 문제도 조합과 관련된 문제다. 그리 어렵지 않으니 쉽게 풀 수 있을 것이다. 알고리즘 [접근 방법] 밑에 있는 힌트란을 읽어보았다면 문제는 금방 이해가 갈 것이다. 의상 이름과 의상 종류가 주어지고, 한 번 입었던 '조합'은 다시 입지 않는다는 것과, 옷의 종류가 중복되게 입을 수 없다는 것이 중요한 포인트..
[백준] 15236번 : Dominos - JAVA [자바]
[백준] 15236번 : Dominos - JAVA [자바]
2020.11.01www.acmicpc.net/problem/15236 15236번: Dominos Dominoes are gaming pieces used in numerous tile games. Each domino piece contains two marks. Each mark consists of a number of spots (possibly zero). The number of spots depends on the set size. Each mark in a size N domino set can contain between 0 and N www.acmicpc.net 문제 오늘은 조금 특별하게 영어 문제를 들고 왔다. 어렵지 않은 문제라 쉽게 풀 수 있다. 알고리즘 [접근 방법] 해석하기 귀찮으신 분들을 위..
[백준] 11051번 : 이항 계수 2 - JAVA [자바]
[백준] 11051번 : 이항 계수 2 - JAVA [자바]
2020.10.30www.acmicpc.net/problem/11051 11051번: 이항 계수 2 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 1,000, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 문제 이전의 이항 계수 1 문제와 같은 문제다. 다만 출력할 때 이항 계수 값에 10,007로 나눈 나머지를 출력해야 한다는 점이다. 알고리즘 [접근 방법] 일단 이 문제를 풀기 전에 이전에 풀었던 3가지 방식으로 이항 계수를 풀이하는 법을 보고오셨으면 한다. st-lab.tistory.com/159 [백준] 11050번 : 이항 계수 1 - JAVA [자바] www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어..
[백준] 11050번 : 이항 계수 1 - JAVA [자바]
[백준] 11050번 : 이항 계수 1 - JAVA [자바]
2020.10.27www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 문제 알고리즘 [접근 방법] 이항 계수(Binomial coefficient) 문제 자체는 매우매우 쉽다. 지금은 배우는지는 모르겠지만 고교과정에서 조합을 배웠다면 쉽게 풀었을 것이다. en.wikipedia.org/wiki/Binomial_coefficient Binomial coefficient - Wikipedia The binomial coefficients can be arranged to form Pascal's triangle, in which each entry is th..
[백준] 2439번 : 별 찍기 - 2 - JAVA [자바]