반응형

programmers 101

[Lv.2] 방문 길이 [프로그래머스_코딩테스트] [구현] [20분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr게임 캐릭터를 x, y 좌표에서 이동시킨다고 할 때 겹치지 않는 방문 길이만 계산해서 반환하는 문제 (맵의 영역은 -5 🧠 나의 접근 방식과 시행착오18분 걸린 문제. 좌표를 이동하는 느낌의 문제라 그런지 그렇게 어렵게 푼 문제는 아니다. 그저 조금 시간이 걸렸을 뿐. 단순하게 생각해서 그냥 이동 전, 이동 후 지점을 visited라는 해시셋에 넣고 실제로 좌표는 이동해가면서 중복되는 것도 맵 바깥으로 빠져나가는 것을 무시하는 로직만 처리..

[Lv.2] 요격 시스템 [프로그래머스_코딩테스트] [구현, Greedy] [20분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/181188 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr미사일의 구간이 x 좌표에서 여러개의 구간으로 정해질 때 요격 미사일을 쏴서 모든 미사일 구간을 통과시킬 수 있는 최소한의 개수를 구하는 문제. (Ex. x 좌표의 요격미사일을 쏜다고 하면 해당 구역에 포함된 미사일들은 전부 맞출 수 있음)🧠 나의 접근 방식과 시행착오55분 걸린 문제. 너무 오래 생각을 한 듯 하다. 구조화를 한다고 구조체에 중복 Range 찾는 거부터 해서 난리를 친듯.. 생각해보면 선을 긋는 규칙을 잘 찾으면 되는데..

[Lv.2] 멀리 뛰기 [프로그래머스_코딩테스트] [구현, DP, 메모이제이션] [20분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr1과 2만큼씩 뛸 수 있는 상황에서 칸의 개수 n을 주어질 때 뛰는 방법의 최대 개수를 반환하는 문제. n은 1이상 2000이하 정수🧠 나의 접근 방식과 시행착오재귀를 써서 해결해 봐야지라는 생각까지만 하고 멈췄던 느낌.. 다양한 문제들 풀면서 좀 더 익숙해져야겠다는 결론만 듬. public class Solution{ public long solution(int n) { long answer = DFS(n); ..

[Lv.2] 시소 짝꿍 [프로그래머스_코딩테스트] [구현] [20분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/152996 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr시소가 있다고 하고 중심으로 부터 2,3,4의 거리가 떨어진 곳에 weights의 무게 배열인 사람들을 배치를 시켜서 무게 * 거리가 동일한 경우 짝꿍을 이룬다고 한다. 이러한 짝꿍이 이뤄지는 경우 몇쌍이 존재하는지 반환하는 문제🧠 나의 접근 방식과 시행착오문제의 시도는 맞았는지 모르겠으나 시간초과가 계속 걸려서 다른 방식이 필요한 것을 알게 된 코드. 푸는 건 그저 직관적으로 모든 경우의 수를 반복하는 형태긴 했다. 중복되는 연산이 많..

[Lv.2] 이진 변환 반복하기 [프로그래머스_코딩테스트] [문자열] [25분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr0과 1로 이루어진 s라는 문자열이 주어지고 해당 문자열을 규칙 1. x의 모든 0을 제거한다. 2. x의 길이를 c라고 하면, c를 2진법으로 표현한 문자열로 변환.을 거쳐서 s가 1이 되는 순간까지 이진 변환의 횟수와 제거된 0의 개수를 구하는 문제🧠 나의 접근 방식과 시행착오15분 걸린 문제. 문제를 보면 뭔가 복잡한 느낌이 든다. 사실 그냥 보면 어려운 문제는 아니긴 하다. 일단 모든 0의 개수를 제거하는 거에서는 일단 스트링의 c..

[Lv.1] 소수 찾기 [프로그래머스_코딩테스트] [에라토스테네스의 체] [10분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/12921 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr1에서 n까지의 숫자에서 소수의 개수를 반환하는 문제. (n은 2이상 1000000이하의 자연수)🧠 나의 접근 방식과 시행착오9분 정도 걸린 문제. 아무래도 소수를 구하는 거 자체는 어렵지 않기 때문에 최적화로 시간 효율이 얼마나 좋은지를 체크하는 문제다. 다만 필자도 n의 제곱근값 까지 순회를 시켜서 나눌 수 있는 지 체크해서 카운트를 증가시키는 방법으로 풀긴 한거라 더 효율적인 형태가 있을 것이라는 생각은 한다. 다만 전에 본 듯 한데..

[Lv.2] 프로세스 [프로그래머스_코딩테스트] [큐, 시뮬레이션] [25분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr운영제제의 동작에서 프로세스들이 주어지고 해당 프로세스의 우선순위 배열 Priorities가 주어질 때 location에 해당하는 프로세스가 몇번째로 시행되는지 반환시키는 문제. (큐에 프로세스들을 다 집어넣고 순차적으로 돌리되 우선순위가 더 높은 프로세스가 큐 안에 있다면 꺼냈던 프로세스를 다시 집어넣고 그렇지 않으면 실행)🧠 나의 접근 방식과 시행착오15분 걸린 문제. 생각해보니 Data 구조체에서 Name은 쓰이지 않았다. IsTar..

[Lv.1] 정수 내림차순으로 배치하기 [프로그래머스_코딩테스트] [정렬] [10분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/12933 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr정수 n이 주어지고 각 자리수들을 내림차순으로 정렬해서 표시하는 문제.🧠 나의 접근 방식과 시행착오7분 걸린 문제. 그저 단순하게 list에 각 자리수들을 다 집어 넣고 정렬을 한 다음 해당 list를 다시 mul이라는 단위마다 곱해야 값들을 10배씩 하면서 늘렸다using System.Collections.Generic;public class Solution{ /// /// 정수 내림차순으로 배치하기 /// https:..

[Lv.3] 단어 변환 [프로그래머스_코딩테스트] [BFS] [30분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krbegin이라는 단어에서 target으로 변환을 시키려고 할 때 알파벳 하나씩을 바꿔서 words에 있는 단어들 중에서 옮겨가면서 target으로 바꾸려고 한다. 그렇게 했을때 최소의 단계를 거쳤을때의 횟수를 반환하는 문제. 못 바꾸는 경우 0 반환🧠 나의 접근 방식과 시행착오25분 정도에 푼 문제. 해당 문제는 생각외로 쉽게 풀었던 듯 하다. BFS는 Queue와 Visited를 활용하면 된다는 기준을 가지고 있어서인지 여러 문제를 풀다..

[Lv.2] 네트워크 [프로그래머스_코딩테스트] [DFS, 그래프] [25분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🧠 나의 접근 방식과 시행착오시간을 정말 오래 잡아 먹은 문제 한 60분 걸린 듯 하다. 아무래도 아직 익숙치 않던 graph와 DFS가 섞인 문제라 그런지 속도가 풀이에 있어서 속도가 잘 나지 않았던 듯 하다. 하긴 애초에 해당 문제 유형들은 시간보다 제대로 푸는 거에 좀 더 초점을 맞춰서 풀려고 시도했긴 하다. 필자의 풀이 방식은 일단 특정 인덱스 노드에서 다른 인덱스 노드로 연결된 경우 이중 리스트 graph에 넣는다. 그리고 결과..

반응형