본문 바로가기

백준24

[백준 1926/자바] 그림 https://www.acmicpc.net/problem/1926    BFS 공부✨ 참고https://velog.io/@minjoott_dev/%EB%B0%B1%EC%A4%80-1926%EB%B2%88-%EA%B7%B8%EB%A6%BC-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4-java  풀이BFS를 이용하여 한 점에서 시작되는 그림의 넓이 파악그림의 경계선 마주할 때까지 함수는 끝나지 않음그림 정보 저장할 2차원 boolean 배열방문 여부를 체크할 2차원 boolean 배열BFS 실행 시 사용할 queue이중 for문을 이용하여 x, y값을 확인한 뒤,해당 좌표가 도화지에서 색칠된 부분이고 아직 방문하지 않은 위치인 경우 BFS 실행 BFS 함수좌표에 방문 표시를 한 뒤 qu.. 2024. 6. 27.
[백준 1012/자바] 유기농 배추 https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 진짜 푸는 데 오래 걸렸음... 나한테 생소한 개념들이라 이번에 이거 찾아보면서 공부 많이 한 것 같다 더해야됨 아래 참고한 블로그에 설명이 너무 잘 되어있어서 도움 많이 받았다 ✨ 참고 https://lotuus.tistory.com/98 풀이 인접한 배추를 찾아 탐색해야 하므로 DFS 사용 한 배추의 상하좌우 네 방향에 다른 배추가 위치한 경우에 서로 인접해있는 것이므로 dx, dy를 사용 배추의 경우 0.. 2024. 3. 19.
[백준 15649/Java] N과 M(1) https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 아직 백트래킹이 뭔지 잘 모르겠다. 개념은 이해했는데 이걸 코드로 어떻게 짜지 공부를 더 해야겠음 ✨ 참고 https://80000coding.oopy.io/85650ea5-e541-4b12-9b86-a958a99b7533 📌 백트래킹 한정 조건에서의 모든 경우의 수를 확인함. 해를 찾는 도중 그 경로가 해가 아닐 것 같으면 되돌아감 DFS 사용 풀이 위와 같이 각 수가 중복되지 않는 모든 경우.. 2024. 3. 11.
[백준 20920/Java] 영단어 암기는 괴로워 https://www.acmicpc.net/problem/20920 20920번: 영단어 암기는 괴로워 첫째 줄에는 영어 지문에 나오는 단어의 개수 $N$과 외울 단어의 길이 기준이 되는 $M$이 공백으로 구분되어 주어진다. ($1 \leq N \leq 100\,000$, $1 \leq M \leq 10$) 둘째 줄부터 $N+1$번째 줄까지 외울 단 www.acmicpc.net 방법이 생각나긴 했는데... 너무 오래 걸릴 것 같아서 다른 방법은 없을까 한참 고민했다. 그래도 일단 작성해서 돌려보긴 했는데 통과는 됐으나 역시 다른 사람들에 비해서 시간이 더 오래 걸림. 그래서 찾아보니 빈도수와 길이, 알파벳순 정렬을 굳이 따로 할 필요가 없었다. (난 따로 했음) ✨ 참고 https://propercodi.. 2024. 3. 10.
[백준 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.