알고리즘

https://school.programmers.co.kr/learn/courses/30/lessons/181188 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌- 풀이 미사일의 좌표 중 y축에 해당하는 부분을 기준으로 정렬 뒷번호가 제일 작은 미사일을 기준으로 end값을 하나 만듦 end값을 기준으로 다음 미사일의 x좌표가 end값과 같거나 크면 미사일의 y축 좌표를 다시 end로 설정하고 요격시스템의 카운트를 +1 추가 🔥 - Java 코드 import java.util.*; class Solution { public int solution(i..
https://www.acmicpc.net/problem/14940 14940번: 쉬운 최단거리 지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) 다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이 www.acmicpc.net 📌- 풀이 입력받을 때 0이면 0, 1이면 -1, 2이면 0을 배열에 저장하고 2일 경우엔 해당 좌표를 Queue에 add 해당 좌표를 시작으로 4방향을 체크하면서 배열의 좌표값이 -1일 경우만 BFS를 하면서 해당 값에 depth를 추가하여 하나씩 거쳐갈 때마다 depth + 1 로 거리를 체크함 해당 문제는 별로 어렵지 않은 BFS 문제였는데, 시간..
https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 📌- 풀이 DP문제를 항상 어렵게 생각했는데 DP문제 치고는 생각보다 간단하게 풀었던 것 같음. 1. 값이 이렇게 들어온다고 생각할 때, 각각 값이 들어올때마다 최대값을 저장해주자라는 생각을 함 10부터 시작해서 10은 10 하나이므로 최댓값이 10이고, -4의 경우에는 10에다가 -4를 더하는 값이 최대기 때문에 -4를 더해서 이런 식의로 전의 값과 비교해서 최댓값을 저장하면서 진행을 한다. 진행을 하다가..
https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 토마토 문제는 BFS를 하다보면 가끔 비슷한 유형의 문제들이 나와서 한 번 풀어 봤는데 다시보니까 또 방법이 제대로 기억이 안나서 일단 생각나는대로 구현을 했는데 결과는 맞았지만 다른 사람들의 풀이와 내 풀이법을 비교해보니 나의 풀이가 좀 기괴?한 것 같아서 일단 다른 사람들의 풀이를 공부할 겸 리뷰를 적어보도록 한다. 📌 - 다른 사람들 풀이 graph와 visited의 2차원 ..
https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 처음에 문제를 읽으면서 이게 무슨 소린가 싶었는데, 하나씩 조건을 따지면서 보니까 할만하다 생각이 들었다. 문제를 보니까 메모리 부분은 아예 신경쓸 필요도 없을 뿐더러, 오히려 그냥 막 써도 되겠다 싶어서 일부러 학생 테이블을 2개 만들어서 하나는 입력받은 대로 학생과 그 학생이 좋아하는 학생의 숫자들을 student에 저장을 했고, 동시에 학생 번호를 순서대로 student2에 저장을..
https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 📌 - 처음 생각한 풀이 방문 배열 -1로 초기화 방문 배열이 -1이거나 BFS로 탐색했을 때 방문한 배열의 값이 이전 값보다 작으면 교체 BFS를 통해서 시작 숫자부터 목표 숫자까지 -1, +1 , *2 반복 해당 번호에 도착하면 종료 및 출력 - 시간 복잡도는 따로 생각하지 않고 일단 로직이 맞는지 확인하고 싶어서 시간초과가 난다 생각하더라도 구현 함 - ..
Casteira
'알고리즘' 카테고리의 글 목록 (7 Page)