본문 바로가기

분류 전체보기44

[백준 1620/Java] 나는야 포켓몬 마스터 이다솜 https://www.acmicpc.net/problem/1620 ❓ 풀긴 풀었는데 계속 시간초과가 나서 헤맸던 문제. HashMap, Array, ArrayList 다 사용해봤는데 계속 시간초과가 나서 다른 사람의 풀이를 참고한 후 내 풀이와 비교했다. ❗ HashMap을 이용했을 때 key로 value를 찾으려면 entrySet을 이용하는 방법밖에 없다고 생각했는데, 굳이 그럴 필요 없이 String 배열을 따로 생성해 포켓몬 이름만 저장하여 찾는 방법도 있었다. ✨ 참고 https://maivve.tistory.com/140 (JAVA) 백준 1620번 : 나는야 포켓몬 마스터 이다솜 https://www.acmicpc.net/problem/1620 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄.. 2023. 2. 6.
[백준 11729/Java] 하노이 탑 이동 순서 https://www.acmicpc.net/problem/11729 ✨ 참고 https://ko.wikipedia.org/wiki/%ED%95%98%EB%85%B8%EC%9D%B4%EC%9D%98_%ED%83%91 하노이의 탑 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 하노이의 탑(Tower of Hanoi)은 퍼즐의 일종이다. 세 개의 기둥과 이 기둥에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들 ko.wikipedia.org https://st-lab.tistory.com/96 [백준] 11729번 : 하노이 탑 이동 순서 - JAVA [자바] www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 .. 2023. 1. 21.
[백준 2447/Java] 별 찍기 - 10 https://www.acmicpc.net/problem/2447 ❓ 진짜 며칠에 걸려서 풀었다... 사실 이렇게까지 안 풀리면 그냥 풀이를 봤었는데, 지금까지 재귀 문제를 만족스럽게 풀었던 적이 한번도 없었어서 오기로 풀어봤다. 만족스러운 풀이는 아니었지만 결과를 내는 데엔 성공했는데 시간 초과남. for문을 중첩 사용했기 때문에 당연한 결과긴 했는데 다른 방식으론 어떻게 풀어야할지 모르겠어서 결국 다른 분 코드 확인함. ❗ 작은 사각형 각각을 한 덩어리로 나눠 풀 수도 있었다. 아무래도 별을 찍어야하니 무조건 잘게 나눠야 한다고 생각했는데, 재귀 함수를 사용해 각 덩어리를 파고들어갈 수가 있었음. 내가 일일이 for문을 돌며 별 한 개씩 안 파고들어도 된다는 소리 ✨ 참고 https://st-lab... 2023. 1. 19.
[백준 24060/Java] 알고리즘 수업 - 병합 정렬 1 https://www.acmicpc.net/problem/24060 ❓ 병합 정렬 알고리즘에 대해선 잘 몰랐어서 문제를 풀기 전 먼저 관련 알고리즘에 대해 공부해야 했다. ❗ 병합 정렬 알고리즘이 뭔지 알면 괜찮게 풀 수 있을 듯... 난 공부를 안 해놨어서 좀 많이 헤맸다... 그래서 병합 정렬 내용을 좀 정리해봤음... ✨ 참고 https://hyunipad.tistory.com/124 [Java] 병합 정렬(Merge Sort) 병합 정렬(Merge Sort)은 안정 정렬 중 하나이며, 분할 정복 알고리즘을 사용한 정렬 방법입니다. 분할 정복(divide and conquer)은 하나의 문제를 두 개의 문제로 분리하고 각각 해결한 다음 결과를 모아 hyunipad.tistory.com https:/.. 2023. 1. 4.
[백준 18870] 좌표 압축 - Java https://www.acmicpc.net/problem/18870 ❓ 처음 낸 답안은 시간초과가 나 통과되지 못했다. 그런데 어떻게 풀어서 시간을 줄여야 할지 감도 안 잡혀서 결국 다른 사람들의 풀이를 보고 뭐가 다른지 비교함. ❗ ArrayList 대신 int 배열을 사용해 충분히 풀 수 있는 문제였다. 좌표 순위를 ArrayList의 인덱스로 구분해 문제를 풀었는데(풀이 1), 이는 HashMap을 사용해 좌표의 순위를 좌표와 연결하여 해결 가능(풀이 2) ✨ 참고 https://st-lab.tistory.com/279 [백준] 18870번 : 좌표 압축 - JAVA [자바] https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1,.. 2022. 12. 30.
[백준 10814] 나이순 정렬 - Java 문제 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 온라인 저지 회원의 수 N이 주어진다. (1 ≤ N ≤ 100,000) 둘째 줄부터 N개의 줄에는 각 회원의 나이와 이름이 공백으로 구분되어 주어진다. 나이는 1보다 크거나 같으며, 200보다 작거나 같은 정수이고, 이름은 알파벳 대소문자로 이루어져 있고, 길이가 100보다 작거나 같은 문자열이다. 입력은 가입한 순서로 주어진다. 출력 첫째 줄부터 총 N개의 줄에 걸쳐 온라인 저지 회원을 나이 순, 나이가 같으면 가입한 순으로 한 줄에 한 명씩 나이와 이름을 공백으로 구분해 출력한다. ❓ .. 2022. 12. 21.
[백준 1181] 단어 정렬 - Java 문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 1. 길이가 짧은 것부터 2. 길이가 같으면 사전 순으로 입력 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. 출력 조건에 따라 정렬하여 단어들을 출력한다. 단, 같은 단어가 여러 번 입력된 경우에는 한 번씩만 출력한다. ✨ 참고 https://www.delftstack.com/ko/howto/java/sort-string-srray-alphabetically-in-java/ Java에서 문자열 배열을 알파벳순으로 정렬 이 게시물은 Java.. 2022. 12. 17.
[백준 11650] 좌표 정렬하기 - Java 문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 x와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 출력 첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. ❓ 계속 고민해봤는데 정말 답이 안 나왔다. 0행에 x값, 1행에 y값을 저장하는 2차원 배열로 풀어보자니 0행 배열을 정렬하면 0행 배열과 1행 배열의 연관성이 끊김. 그래서 아예 String으로 입력 받아 [ic]Arrays.sort()[.. 2022. 12. 17.
[백준 2108] 통계학 - Java 문제 수를 처리하는 것은 통계학에서 상당히 중요한 일이다. 통계학에서 N개의 수를 대표하는 기본 통계값에는 다음과 같은 것들이 있다. 단, N은 홀수라고 가정하자. 1. 산술평균 : N개의 수들의 합을 N으로 나눈 값 2. 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 3. 최빈값 : N개의 수들 중 가장 많이 나타나는 값 4. 범위 : N개의 수들 중 최댓값과 최솟값의 차이 N개의 수가 주어졌을 때, 네 가지 기본 통계값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. 출력 첫째 줄에는 산술평균을 출.. 2022. 12. 11.