본문 바로가기

PS831

[자바] 프로그래머스 - 다음에 올 숫자 (Lv0, Java) 문제 : Programmers-다음에 올 숫자 문제 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 필요 알고리즘 개념 수학(?) 일단 등차수열과 등비수열이 뭔지는 알아야 풀 수 있다. 구현 주어진 대로 구현해주면 된다. 항상 입력은 등차수열 혹은 등비수열임이 보장된다. 또한 common의 길이는 3이상이므로 판단이 불가능한 경우도 없다. 1. 등차수열인지 아닌지(아니라면 문제 조건에 따라서 무조건 등비수열) 판단한다. 2. 등차수열이라면 공차를, 등비수열이라면 공비를 구한 후 common의 마지막 값에 공차를 더해주거나, 공비를 곱해준다. 코드 : github /** * 문제 출처: 프로그래머스 코딩 테스트 연습, https://pro.. 2022. 11. 25.
[자바] 백준 17387 - 선분 교차 2 (java) 문제 : boj17387 필요 알고리즘 개념 선분 교차 판정 (기하학, CCW) 선분 교차 판정 알고리즘으로 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 CCW를 이용한 선분 교차 여부 판정을 보고 그대로 구현해주면 된다. 코드 : github import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringToken.. 2022. 11. 25.
[자바] 백준 17386 - 선분 교차 1 (java) 문제 : boj17386 필요 알고리즘 개념 선분 교차 판정 (기하학, CCW) 선분 교차 판정 알고리즘으로 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 CCW를 이용한 선분 교차 여부 판정을 보고 그대로 구현해주면 된다. 코드 : github import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringToken.. 2022. 11. 25.
[자바] 백준 25991 - Lots of Liquid (java) 문제 : boj25991 필요 알고리즘 개념 수학 수학문제이다! ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 n개의 정육면체의 한 면의 길이 c가 주어진다. 이 때 해당 정육면체에 담긴 액체의 부피는 c^3이 된다. 이걸 전부 다 더하면 n개의 정육면체에 담긴 액체의 총 부피를 알 수 있다. 이 값의 세제곱근을 구하면 구하고자 하는 컨테이너의 한 면의 길이를 구할 수 있다. 코드 : github import java.io... 2022. 11. 25.
[자바] 백준 3765 - Celebrity jeopardy (java) 문제 : boj3765 필요 알고리즘 개념 애드 혹 정형화된 방식이 존재하지 않고 이 문제만의 아이디어를 생각해내야 한다. EOF (end of file) 판단 별도로 입력 줄 수가 주어지지 않으므로 EOF를 판단해서 입력 받아야 한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 장황하게 설명되어 있지만, 입력받은 그대로 다시 출력해주면 된다 ㅋㅋ 자바의 BufferedReader의 경우 eof를 만날 시 null을 리턴.. 2022. 11. 25.
[자바] 백준 18409 - 母音を数える (Counting Vowels) (java) 문제 : boj18409 필요 알고리즘 개념 문자열, 구현 문자열을 파싱해서 다룰 수 있어야 하는 구현문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 일본어 문제라 못풀 것 같이 생기긴 했는데, 번역기 돌리면 된다. 이 문제의 경우엔 번역기 돌릴 것도 없이 예제 입출력 보면 어떻게 풀지 알수 있다. 뭔가 숫자가 들어오고, 문자가 들어오는데 문자 길이가 숫자와 동일하니 대충 길이라고 생각하면 되고, 그 아래에 _oi_.. 2022. 11. 25.
[자바] 백준 10864 - 친구 (java) 문제 : boj10864 필요 알고리즘 개념 구현 별다른 알고리즘 지식 없이 문제에 제시된 대로 구현만 할 줄 알면 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 1. N명의 학생에 대해 N+1크기의 배열 cnt[N+1]을 만들어보자. cnt[x]는 x번 학생의 친구 수를 나타낸다. 2. M개의 친구 관계 A B를 입력받는다. 그리고 cnt[A]++; cnt[B]++; 를 해준다. (A와 B가 친구면, B와 A.. 2022. 11. 25.
[자바] 백준 2835 - 인기도 조사(java) 문제 : boj2835 필요 알고리즘 개념 누적합 알고리즘 약간의 배열 테크닉을 활용하면 누적합 알고리즘 만으로 풀 수 있다. 세그먼트 트리 lazy propagation 또는 range update - range query 펜윅 트리 누적합으로 풀려면 아이디어가 필요하다. 일반적으로는 세그먼트 트리 lazy propagation 혹은 펜윅 트리 응용을 통해 풀게 된다. 이하 풀이는 누적합을 통한 풀이이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도.. 2022. 11. 16.
[자바] 백준 1990 - 소수인팰린드롬 (java) 문제 : boj1990 필요 알고리즘 개념 소수 판정, 에라토스테네스의 체 팰린드롬도 판정해야하지만, 그보다 먼저 소수 판정을 할 수 있어야 한다. 에라토스테네스의 체를 알고 있어야 1억 이하의 소수를 효율적으로 구할 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 1. b 이하의 소수를 모두 구한다. 에라토스테네스의 체를 사용해 구해주면 된다. 이 때 sqrt(b) 까지만 확인해주면 된다. (에라토스테네스의 체 혹.. 2022. 11. 10.
[자바] 백준 6322 - 직각 삼각형의 두 변 (java) 문제 : boj6322 필요 알고리즘 개념 피타고라스의 정리, 기하학 피타고라스의 정리를 알면 풀 수 있다! 문제에서도 공식이 주어지니 사실상 구현문제라고 봐도 될 것 같다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 경우를 나눠보면 아래와 같다. 1. c가 -1일 경우 c^2 = a^2 + b^2 이므로, c = sqrt(a^2 + b^2) 이다(sqrt는 제곱근을 뜻한다.). a와 b는 항상 양수로 주어질 것이므로 불.. 2022. 11. 10.