본문 바로가기

Java26

[백준 1003/Java] 피보나치 함수 https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 처음엔 단순하게 문제에서 주어진 피보나치 함수 긁어다가 0과 1 나올 때마다 관련 변수 1씩 증가시켜서 값을 구했는데 아니나다를까 시간 초과 남 근데 정리하다보니 예전에 풀었던 문제랑 비슷한 거 같아서 같은 풀이 사용하니 통과 됐다 아파트의 각 집마다 거주하는 사람 수 구하는 문제였던 거 같은데 몇 번인진 까먹었음 풀이 피보나치 수는 첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다. 문제를 좀 더 직관적으로 이해하기 위해 0번째 수도 수열에 포함하면 아래와 같음 .. 2023. 10. 17.
[백준 1874/Java] 스택 수열 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 스택, 큐 사용해서 풀었는데 돌려보니 틀렸다고 뜸 근데 질문 게시판 확인하니 아래 같은 글이 있었다 글 내용대로 == 대신 equals() 함수 사용하니 통과 됐음 📌 -128~127의 범위를 벗어나는 값을 가진 Integer 객체를 == 연산자를 사용해 비교할 경우 예상과 다르게 동작한다고 한다. 📝 참고 http.. 2023. 10. 11.
[백준 7785/Java] 회사에 있는 사람 https://www.acmicpc.net/problem/7785 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 무난하게 통과한 문제인데 다른 방법을 쓰면 시간을 줄일 수 있지 않을까 싶어 시도해봤다가 오히려 시간 초과가 남 찾아보니 배열 별로 연산 시간이 달라서 이렇게 된 듯 통과한 풀이는 HashMap을 사용했었고 시간 초과난 풀이는 ArrayList를 사용했었다 📝 참고 https://www.grepiu.com/post/9 https://lifeofyoori.ti.. 2023. 10. 9.
[백준 24267/Java] 알고리즘 수업 - 알고리즘의 수행 시간 6 https://www.acmicpc.net/problem/24267 24267번: 알고리즘 수업 - 알고리즘의 수행 시간 6 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 📝 참고 https://velog.io/@gayeong39/%EB%B0%B1%EC%A4%80-24267-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%88%98%EC%97%85-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%88%98%ED%96%89-%EC%8B%9C%EA%B0%846 풀이 i, j, k.. 2023. 9. 26.
[백준 2477/Java] 참외밭 ❓ 정말 풀어보려고 시도는 했는데... 너무 안 돼서 나와 같은 풀이(전체 넓이에서 오목한 부분의 넓이 빼기)를 이용한 다른 사람의 코드를 확인했다. 사실 내 코드 중 어느 부분이 틀린 지 아직 모르겠어서 일단 올려두고 나중에 좀 더 보려 한다. ✨ 참고 https://velog.io/@jihun333/%EB%B0%B1%EC%A4%802477-%EC%B0%B8%EC%99%B8%EB%B0%AD-%EC%9E%90%EB%B0%94 [백준]2477 참외밭 (자바) [백준]2477 참외밭 (자바) velog.io 풀이 1 더보기 틀린 답안 밭의 경계선이 꺾여들어가는 경우 기존에 나왔던 방향의 중복이 연속으로 나옴 밭 경계선의 방향과 크기를 받을 때마다 해당 경계선의 앞뒤 경계선 방향 확인 앞뒤 경계선의 방향이 서.. 2023. 2. 16.
[백준 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.