반응형

Coding Test/Programmers 102

[Lv.1] 최소직사각형 [프로그래머스_코딩테스트] [완전탐색, 정렬] [25분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr가로 세로 길이가 들어있는 Sizes라는 배열이 주어지고 해당 사이즈들을 모두 포함할 수 있는 최소의 사이즈의 너비를 구하는 문제. (가로 세로 전환 가능)🧠 나의 접근 방식과 시행착오대락 30분 정도 잡은 듯 하다. 문제에서 가로 세로를 전환할 수 있고 최소의 너비를 구하는 문제라 가로 최대, 세로 최대를 캐시하고 비교를 하면서 가로 세로를 전환했을 때에 포함이 되는 경우 캐시를 바꾸지 않고 넘어가고, 하나라로 넘치는 경우 전환했을 때와..

[Lv.1] K번째 수 [프로그래머스_코딩테스트] [정렬] [25분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr숫자 배열 array를 주어주고 commands에 첫번째 숫자부터 두번째 숫자 자리까지 잘라내고 오름차순 정렬을 시키고 거기서 commands의 세번째 숫자 자리를 찾아서 정답 배열에 넣는 문제🧠 나의 접근 방식과 시행착오한 25분에서 30분 소요. 코딩 테스트를 풀어보면서 알게된 Span기능을 쓰려고 했다. 배열을 Slice 시키는데에 그게 제일 간편하고 좋아보여서가 이유긴 했다. 다만 프로그래머스에서는 몇가지 기능이 미지원되는 상태라고..

[Lv.0] 개미 군단 [프로그래머스_코딩테스트] [수학, 구현] [15분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/120837 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr장군개미 5 공격력, 병정개미 3 공격력, 일꾼개미 1 공격력일 때 HP가 주어지고 최소한의 개미를 투입할 때 개미의 수를 구하기. 🧠 나의 접근 방식과 시행착오5분 정도에 빠르게 푼 문제. 간단하게 hp를 데미지가 큰거부터 계속 빼면서 count를 증가시키면 된다.using System;public class Solution{ /// /// 개미 군단 /// https://school.programmers.co.kr/..

[Lv.1] 크기가 작은 부분 문자열 [프로그래머스_코딩테스트] [문자열, 슬라이딩 윈도우] [30분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr숫자로 이루어진 문자열 t와 p가 주어질 때 p와 길이가 같은 부분문자열 중에서 t보다 p가 값이 작거나 같은 횟수를 구하는 문제🧠 나의 접근 방식과 시행착오맨 처음 문제를 보고 가볍게 substring해서 int.Parse 해서 비교하면 끝 아닌가? 라고 생각해서 바로 제출했으나 런타임 오류.. 문제를 좀 더 자세히 읽어 보니 제한사항으로 문자열 t의 길이가 10,000이라고 적혀있었다. 그래서 자릿수가 그렇게 길어지게 되면 당연히 안..

[Lv.1] 삼총사 [프로그래머스_코딩테스트] [완전탐색] [25분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/131705 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr숫자의 배열 number가 주어지고 3개의 숫자를 선택해서 합이 0이되는 조합의 개수를 구하는 문제🧠 나의 접근 방식과 시행착오단순하게 생각했다. 25분 예상이 gpt에서 적혀있었는데 한 15분 정도나 걸렸나.. 문제는 테스트 케이스 모두 통과하긴 하였다. (정직하게 그냥 푼 문제라) 그냥 3중 for문을 돌리기로 한 것. 3개의 합이 0이되는 것을 제일 생각하기 쉬운 방법은 이거라고 생각을 했다. 그나마 조금 신경을 쓴 건 반복문을 조..

[Lv.1] 덧칠하기 [프로그래머스_코딩테스트] [Greedy, 구현] [30분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krn이라는 구간에서 m만큼을 칠해가면서 section의 영역을 모두 칠하는게 목표인 문제🧠 나의 접근 방식과 시행착오Greedy 하기 생각해서 한쪽에서 칠해가는 방법을 생각했으나 다시 생각했을 때 양쪽에서 칠해야 겹치는 영역을 줄이지 않나란 생각에 코드가 복잡해졌다. 처음에는 그래서 right, left가 서로 엇갈리게 되면 빠져나오게 하는 형태로 잡았는데 몇개 테스트 케이스에서 틀린 답을 내고 있어서 모든 section 반복을 순회하기로..

[Lv.0] 문자열 밀기 [프로그래머스_코딩테스트] [문자열, 회전] [15분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/120921 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문자열을 한칸씩 밀면서 끝에 있는 단어는 가장 좌측으로 다시 오게 하는 형식일 때, A에서 B로 문자열을 밀어서 만들기 위한 최소한의 횟수를 구하기. 구하지 못하는 경우는 -1🧠 나의 접근 방식과 시행착오문자열을 미는거에 대해서 직접 밀어서 원본을 수정하는 방법도 있겠지만 그러기에는 메모리를 많이 먹게 되거나 하는 케이스가 생길 것으로 판단하여, 필자는 StringBuilder라는 유용한 기능을 가져다 쓰기로 하였다. 해당 기능을 활용하..

[Lv.1] 기사단원의 무기 [프로그래머스_코딩테스트] [수학, 구현] [30분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krnumber라는 숫자를 주어지고 1부터 숫자를 늘려가면서 각 숫자들의 약수의 개수를 구하고, limit을 초과한 경우 power로 kg을 매겨서 합산 kg을 구하는 문제🧠 나의 접근 방식과 시행착오숫자의 약수를 구하는 식 자체는 단순하게 생각해서 그냥 숫자의 반절까지 반복문을 돌리면서 나눠보면 된다. 문제의 풀이 자체는 어렵지 않다고 생각했는데 최적화를 고려한 부분은 피드백을 받아보기로 하였다. 문제는 일단 전체 테스트 케이스 성공이 뜨..

[Lv.1] 공원 산책 [프로그래머스_코딩테스트] [시뮬레이션] [25분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/172928 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krS라는 지점에서 시작해서 이동 루트를 string으로 적은 배열을 주어주고 이동 불가 지점과 벽에 막힌 경우 해당 이동 명령은 무시하게 한 후 최종 결과를 도출해 내는 문제 (X는 이동 불가, O는 이동 가능)🧠 나의 접근 방식과 시행착오간단하게 생각해서 시작점에서 명령(routes)를 하나씩 돌리면서 이동 가능한 지 체크하고 이동시키면 된다. (필자는 참고로 한 번 실수로 좌표가 마이너스가 될 경우를 누락해서 런타임 에러가 났었다. 이..

[Lv.2] 카펫 [프로그래머스_코딩테스트] [완전 탐색, 수학] [40분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr노란색 격자가 카펫의 중앙에 들어가게 하면서 갈색 격자로 감싸는 카펫 모양을 만드려고 할 때 brown, yellow 격자의 개수가 주어졌을 때 가로 세로 격자 길이를 구하기🧠 나의 접근 방식과 시행착오대강 40분 정도 걸린 듯 하다. 처음에는 아래 주석처럼 yellow 개수를 구하는 식을 일단 변수 2개 (노랑 가로, 노랑 세로)를 써서 공식을 세우고, brown 개수도 찾는 식을 세운다. (노랑 가로 * 2 + 노랑 세로 * 2 + 4..

반응형