Java/코딩테스트
-
백준 20057Java/코딩테스트 2023. 10. 12. 01:37
🌪 백준 20057 : 마법사 상어와 토네이도 https://www.acmicpc.net/problem/20057 20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net 🌪 저번 글에 열받았다고 썼는데 플래그였던 것이다..... 얘가 더...더 힘들었다... 🌪 로직 자체는 토네이도 움직이기, 한 칸씩 움직일때마다 모래 날려주기 이렇게 2가지만 있다. 🌪 하지만 날아가는 각 모래를 모두 계산해줘야 하기 때문에 실수하기 쉽고, 어디서 틀렸는지 잘 안보여서 헤맨...문제이다. 🌪 토네이도의..
-
백준 21608Java/코딩테스트 2023. 10. 11. 18:10
🦈 백준 21608 : 상어 초등학교 https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 🦈 앞에서 풀었던 상어의 파이어볼보다 더 열받는 문제였다. 🦈 문제 순서대로 구현하면 되는 문제이기는 하지만, 조건이 매우 복잡하여 틀린부분을 수정하는데 오래 걸렸다. 🦈 나는 아래 부분을 실수했었다. 마지막 칸 하나만 남았을 때는 무조건 그 칸으로 들어갈 수 밖에 없다. 방문 처리를 확실히 할 것. 학생 번호를 편의상 0부터 배치했더니, 이미 자리..
-
백준 20056Java/코딩테스트 2023. 10. 10. 18:51
🔥 백준 20056 : 마법사 상어와 파이어볼 https://www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 🔥 삼성 기출인 상어 시리즈 문제이다. 🔥 파이어볼 클래스를 하나 만들고, 위치 정보 + 방향, 속력, 질량을 필드로 선언해주었다. private static class Fireball { int x; int y; int mass; int speed; int dir; public Fireball(int x, in..
-
프로그래머스 프로세스, 퍼즐조각 채우기, 올바른 괄호Java/코딩테스트 2023. 10. 3. 20:43
💿 프로그래머스 : 프로세스 https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💿 프로그래머스의 스택 / 큐 자료구조 문제에서 가져와서 풀어봤다. 💿 큐에 프로세스의 인덱스 + 우선순위를 저장해두고, 얘를 수행해도 되는지 탐색한 다음 수행가능하면 정답 배열에 해당 프로세스 우선순위를 저장한다. 💿 간단하게 구현해본 문제이다. 💿 전체코드 import java.util.*; class Solution { public int solution(int[..
-
프로그래머스 전력망을 둘로 나누기, 베스트앨범, 의상Java/코딩테스트 2023. 9. 26. 02:43
✂️프로그래머스 : 전력망을 둘로 나누기 https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✂️ 인접행렬로 그래프를 바꿔서 푸는 문제를 최근에 안 풀었어서 이번기회에 다시 풀어봤다. 역시 안 풀면 계속 머리가 굳는 것 같다.. ✂️ 인접행렬로 그래프를 바꾸려면 아래 조건을 확인해봐야 한다. 노드 개수에 비해 에지가 적으면 효율성이 떨어지므로 비교해보기 노드 개수가 너무 많으면 메모리 초과날 수도 있음. ✂️ 이 문제에서는 에지 개수가 N-1이므로..
-
백준 2133, 2141Java/코딩테스트 2023. 9. 20. 22:31
🧩 백준 2133 : 타일 채우기 https://www.acmicpc.net/problem/2133 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net 🧩 동적 계획법 문제 🧩 글로 쓰는것보다 그림이 더 이해가 잘 될 것 같아서 그림으로 그려봤다. 🧩 참고로 가로 길이가 홀수인 경우는 0이다. 타일 2종류로 채울 수 있는 방법이 없음. 그러므로 DP 계산할 때는 짝수만 해주면 된다. 🧩 아래는 DP[6]과 DP[4]인 경우이다. 모든 케이스를 다 그리진 않고, 왼쪽에 그려놓은 것 처럼 각 단계별로 추가되는 독립적인(?) 타일 조합만 그려놨다. 🧩 앞단계의 모양을 조합해서 나올 수 없는 타일 조합이므로 얘는 추가로 +2를 해..
-
프로그래머스 시험장 나누기, 백준 21610Java/코딩테스트 2023. 9. 19. 03:00
🤣 프로그래머스 : 시험장 나누기 사실 이것은 ... 직접 푼 문제는 아니긴 하다. 하지만 그냥 공부한 셈 치고 정리 겸 올려 본다... 카카오 코테 문제이고, 오랜만에 프로그래머스 들어갔다가 추천 문제라며 띄워주길래 그냥 하나 풀어봐야겠다~ 하고 푸는데 답이 도저히 안 나와서 해설을 찾았다... 걍 고수의 풀이를 보고 이해한거 정리한 거라고 생각하면 된다. 보니깐 마지막 문제로 나온거던데 여기까지 가지도 못하고 끝나지 않았을까 싶다. https://school.programmers.co.kr/learn/courses/30/lessons/81305 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받..
-
백준 2636, 1339, 2110Java/코딩테스트 2023. 9. 5. 19:14
🧀 백준 2636 : 치즈 https://www.acmicpc.net/problem/2636 2636번: 치즈 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓 www.acmicpc.net 🧀 공기를 기준으로 탐색 수행, 치즈를 만나면 해당 치즈를 녹이고 방문처리, 공기를 만나면 해당 칸을 탐색후보에 넣고 수행한다. 🧀 아이디어는 나름 금방 생각했는데 생각보다 구현이 오래 걸렸다. 🧀 재귀말고 stack 방식으로 구현해서 풀었다. 🧀 tmi. 카페에서 이거 풀었는데 치즈가 먹고 싶었다. 하지만 그 카페는 치즈가 들어간 것을 팔지 않았다. 🧀 전체 코드 import java.u..