알고리즘 문제풀이253 [프로그래머스] 멀리 뛰기 (Swift) https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 한 친구가 일직선 상의 선에서 한 칸씩 혹은 두 칸씩 나아갈 수 있는데, 마지막 칸에 도달할 수 있는 경우의 수를 구하는 문제였다.단, 1234567로 나눈 나머지 값을 구하는 문제 (이렇게 나눈 나머지 값을 구하는 문제의 경우, 마지막 결과 뿐만 아니라 그 전에 결과를 더할때 부터 1234567으로 나눈 값을 적용해주어야 한다. 중간에 Int 범위를 넘어갈 수 있기 때문) 접근 방법 0칸부터 시작해서 n칸까지 가는데,i칸에서 i+1칸에 갈 수 있는 경.. 2025. 6. 2. [프로그래머스] 무인도 여행 (Swift) https://school.programmers.co.kr/learn/courses/30/lessons/154540?language=swift 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr N*M크기의 격자판이 있다고 합시다 (지도를 의미).- 각 칸에는 X (바다) 혹은 1~9사이의 자연수( 각 칸의 무인도에 있는 식량 수)가 적혀져 있음.- 상하좌우로 연결되어 있는 칸끼리는 하나의 무인도임.- 하나의 무인도 땅에 있는 식량의 합은 그 무인도에 머물 수 있는 기간(일)을 의미- 지도에 0개 이상의 무인도가 있을 때, 각 무인도에 머물 수 있는 기간을 오름차순 배열로 출력하는 문제 접근방법1. N*M 지도를 순.. 2025. 6. 2. [프로그래머스] 주사위 고르기 (Swift) https://school.programmers.co.kr/learn/courses/30/lessons/258709?language=swift 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr A와 B라는 친구들이 있습니다. 그들의 앞에는 N개의 주사위가 있고요. 이걸 딱 반띵해서 가져갈겁니다.주사위는 평범하게 정육면체인데, 그 안에 적혀 있는 숫자는 1~100으로 랜덤입니다. 중복도 있구요.자, A와 B는 본인들이 가져간 주사위를 한번씩 다 굴려서 나온 값을 더할거에요. 그 값으로 누가 더 큰 수가 나왔나~ 겨루는 겁니다.이때, A가 이길 확률이 가장 높게 하려면, 어떤 주사위를 골라 가져가야 하는지 구하는 문.. 2025. 6. 1. [프로그래머스] 봉인된 주문 (Swift) https://school.programmers.co.kr/learn/courses/30/lessons/389481# 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제최대 11글자로 이루어진, 주문이 있음. 이 주문은 a부터 시작해서 길이 순서 & 알파벳 순서대로 배치됨근데 봉인된 주문이 배열로 주어짐, 이 봉인된 주문을 제외하고 n번째 주문이 무엇인지 알아내는 문제 접근방법1. 문자열을 순서(숫자)로 변환하는 함수 만들기 (26진법 활용) - 숫자는 1부터 시작 (a = 1)2. 순서(숫자)를 문자열로 변환하는 함수 만들기 (26진법 활용) - 여기서 n-1로 다루는 이유는 숫자를 26으로 나눈 나머지를 .. 2025. 5. 31. [프로그래머스] 서버 증설 횟수 (Swift) https://school.programmers.co.kr/learn/courses/30/lessons/389479?language=swift 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr시뮬레이션 사담 시작 > 오랜만에 풀어서 그런지 재밌다 (?) 개인적으로 시뮬레이션(특히 시간 나오는)에 약하다고 생각하는데, 이번 문제는 그래도 스스로 잘 풀어서 다행 시뮬레이션 거부감 멈춰사담 끝 매 시간 접속중인 사용자 수가 주어지고, 서버 한 대 당 수용할 수 있는 인원인 m, 서버 한 대의 지속시간 k가 주어진다.이때, 사용자수가 현재 작동중인 서버들의 수용인원을 넘으면 필요한 만큼 서버를 증설해야하는데,매.. 2025. 5. 9. [프로그래머스] 땅따먹기 (Swift) https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krDP| 1 | 2 | 3 | 5 || 5 | 6 | 7 | 8 || 4 | 3 | 2 | 1 | 이런 4열 N행의 숫자가 쓰여있는 판이 있을 때가로 한줄마다 한칸씩 밟아가면서 차례대로 내려갈 수 있다고 한다.단 같은 열의 아래층으로 내려갈 순 없음. 이때, 마지막 줄까지 내려가는데 얻을 수 있는 최고점 출력하기 접근방법DFS도 아니고 오직 DP인 문제였다land와 똑같은 형태인 dp배열에, (r,c)칸에는 (r,c)까지 오는데 얻을 수 있는 최고.. 2025. 4. 24. [프로그래머스] 숫자 타자 대회 (Swift) https://school.programmers.co.kr/learn/courses/30/lessons/136797?language=swift 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr DP+DFS 숫자 키패드가 있고, 손가락이 놓인 곳에서 이동하지 않고 누를 때는 시간 1초 소요, 인접한 상하좌우로 이동할 땐 시간 2초 소요, 인접한 대각선으로 이동할땐 3초 소요된다고 할 때입력으로 받은 숫자들을 모두 누르는 최소 시간을 구하는 문제* 처음시작할 때 양손가락은 4, 6에 각각 위치하며* 같은 번호를 양손가락이 모두 누르고 있을 수는 없다. 접근방법1. 우선, 0~9까지의 번호판이 서로에게 가는 모.. 2025. 4. 23. [백준 1141] 접두사 (Swift) https://www.acmicpc.net/problem/1141 문자열 & 정렬 문자열들의 배열이 주어지고, 서로가 서로의 접두사가 아닌 부분집합의 최대 크기를 출력하는 문제 접근방법 처음에는 DFS로 가능한 부분집합을 모두 구하는 식으로 했다가 시간초과났다;ㅎ알고리즘 분류를 보니까 정렬이라길래,,문자열을 정렬해두고, 맨 위부터 본인보다 문자열이 큰(길이&알파벳순) 문자열에 대해서 본인이 그 문자열의 접두사면본인을 부분집합에 포함시키지 않도록해서 result를 n에서 1씩 줄여나갔다. 따지고 보면, 알파벳순 & 길이순 으로 나열되어있는 문자열에서 내가 바로 다음 문자열의 접두사라면내가 그 다음 문자열의 접두사일 확률도 높아진다.그리고 그렇지 않더라도 내가 들어가면 그 다음 문자열과 나 중 하나는 빠져야.. 2025. 4. 10. [백준 2933] 미네랄 (Swift) https://www.acmicpc.net/problem/2933 Simulation & BFSR*C 칸의 격자판이 있고, 양쪽에서 번갈아가면서 h 높이의 미네랄들을 한개씩 없앤다.미네랄들은 바닥부터 연결되어 있어야 유지될 수 있는데, 지지층 없이 떠있는 미네랄들은 그대로 떨어진다.떨어지는 미네랄들은 모양이 일정하게 유지된다. 다 치고난 후에 동굴의 미네랄 모양을 출력하는 문제 접근방법오늘도 테트리스같은 문제다..BFS를 써서 떠있는 미네랄들을 배열에 담고 그 미네랄들을 모양을 유지하면서 그대로 얼만큼 내려야 하는지 알아봐야한다.으~ 오답노트맨처음엔 왼쪽오른쪽 반대로 해서 틀렸었고,마지막에는 이 아래 코드 부분 범위 때문에 골치아팠다.while m.0 + tmp 떠있는 클러스터에서 아래로 얼만큼의 빈.. 2025. 4. 9. 이전 1 2 3 4 ··· 29 다음 728x90