본문 바로가기

Algorithm & SQL179

백준 JAVA 11399 ATM https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 그리디 알고리즘 기초 두번째 문제 이건 기존(9일전) 이랑 똑같이 풀었다. package BAEKJOON.Silver.Ⅳ; import java.util.Arrays; import java.util.Scanner; public class NO11399_2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextIn.. 2022. 8. 13.
백준 JAVA 11047 동전0 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 그리디 알고리즘의 가장 기초문제 9일전에 풀었을때랑 지금 풀었을때랑 조금 풀이방법이 달랐다. 이전에는 for 문을 사용해 k 를 나누어서 풀었다면, 오늘은 while 문을 사용해 반복형식으로 풀었다. 저번 풀이가 더 좋은 풀이였다. package BAEKJOON.Silver.Ⅳ; import java.util.Scanner; publ.. 2022. 8. 13.
백준 JAVA 1977 프린터 큐 https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 프로그래머스에 동일? 한문제가 있다. 막혀서 다른 블로그를 참고해서 다시 풀어보고 그림 그려가면서 이해해보고 해당 문제를 풀었는데 갑자기 백지화가 되었다. 다시 그림그려가면서 이것저것 했더니 풀었긴했다. 아직 구현이 약해서 내 생각대로 코드가 안쳐지는 것 같다 . package BAEKJOON.Silver.Ⅲ; import java.util.Collections; import java.util.Pri.. 2022. 8. 12.
백준 JAVA 1874 스택 수열 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 어제 못풀고 다시 도전하고 블로그 참고해서 풀었다. 그리고 오늘 다시 백지에서 풀었는데 성공! stack 문제이지만, 구현문제를 많이 풀어봐야겠다고 느끼는 문제였다. package BAEKJOON.Silver.Ⅲ; import java.util.ArrayList; import java.util.Scanner; imp.. 2022. 8. 12.
백준 JAVA 4949 균형잡힌 세상 https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다 www.acmicpc.net 음 .. 먼저 조건에 맞게 코드를 짜서 출력대로 잘나와서 제출했는데 20%에서 계속 틀렸다. 예외가 뭔지를 모르겠다.. 다른 블로그를 한번 참고해보고 다시한번 풀어보았는데, 코드 그대로 따라가면서 볼때는 비슷해보이는데 왜 틀렸는지 잘모르겠다 ㅠㅠ 어떤 조건에서 틀린걸까.. 질문에 올려보고 답이 오면 다시한번 대입해봐야겠다. 실패코드 package BAEKJOON.Silver... 2022. 8. 11.
백준 JAVA 11651 좌표 정렬하기2 https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net package BAEKJOON.Silver.Ⅴ; import java.util.Arrays; import java.util.Scanner; public class NO11651 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.n.. 2022. 8. 11.
백준 JAVA 11650 좌표 정렬하기 https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net package BAEKJOON.Silver.Ⅴ; import java.util.Arrays; import java.util.Scanner; public class NO11650 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nex.. 2022. 8. 11.
백준 10816 JAVA 숫자 카드2 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 처음 일반 배열로 풀었을때는 시간 초과가 났다. HashMap을 사용해야 하는 문제였다. HashMap + print로 출력하니 다시 시간초과. HashMap + StringBuffer 을 사용해서 풀었다. 정답은 나오나 시간초과 package BAEKJOON.Silver.Ⅳ; import java.util.Arrays; import java.util.Scanne.. 2022. 8. 10.
백준 JAVA 15829 Hashing https://www.acmicpc.net/problem/15829 15829번: Hashing APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정 www.acmicpc.net 사실 문제도 잘 이해가 안가서 문제 밑에 나와있는 힌트를 보고 풀었다. 그리고 풀었는데 계속 50점이 나와서 어떡하지 하다가 해싱 관련해서 지식이 없어 블로그를 찾아보게 되었다. 브론즈2인데 정답비율이 30% 인걸보면 역시 뭔가 있었다.. 해당 문제를 풀려면 모듈러 연산의 성질 이라는 것을 적용해야 한다. 분배법칙 이라는 것인데, 간단히 말하면 31%M 이나 31이나 똑같다는 점을 이용한다는 것.. 2022. 8. 10.