반응형

Coding Test/Programmers 102

[Lv.1] 모의고사 [프로그래머스_코딩테스트] [완전탐색] [30분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr수포자 3명이 문제를 찍는 규칙이 정해져 있고, 답안 answers가 인자로 주어질 때 최대 점수를 맞은 번호들을 반환하는 문제🧠 나의 접근 방식과 시행착오대강 15분 정도 걸린 문제. 풀이자체는 규칙을 그대로 int[]로 저장해두고 정답지를 순회하면서 각 번호별로 점수를 저장해두고, 최대 점수인 번호들을 저장하고 올림차순으로 Sort시키는 방식으로 풀었다. 문제의 풀이 자체는 단순하게 직관적으로 푼 거라 더 효율적인 방향이 있을지는 체크..

[Lv.2] 피로도 [프로그래머스_코딩테스트] [Brute Force, 완전탐색, 순열] [30분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr피로도 시스템이 있어서 k라는 현재 피로도가 있고 dungeons라는 [최소 필요 피로도, 사용되는 피로도]가 배열로 주어질 때 최대한 들어갈 수 있는 던전의 수를 구하는 문제🧠 나의 접근 방식과 시행착오문제의 접근 방식부터 해맨 상태라 못 푼 문제. 이 문제를 접근하면서 가장 중요하게 생각했던건 조건에 맞는 최소 피로도 중에 제일 큰 값이면서 소모 피로도가 제일 작은 것을 우선시해야 하지 않나란 생각이었다. 다만 이렇게 생각하니 일단 먼..

[Lv.2] 숫자 변환하기 [프로그래머스_코딩테스트] [DP, BFS] [35분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krx에서 y로 값을 만드는 방법을 할 때 3가지 방법으로 섞어서 만드려고 한다. 이 때 최소한의 횟수로 만들 수 있는 것을 구하는 문제. 3가지 방법은 (+n, x2, x3)이다.🧠 나의 접근 방식과 시행착오간과한 부분이 있었다. 곱하기끼리는 순서가 상관이 없지만 더하기를 하고 곱하기를 하는 등의 작업이 섞이게 되면 문제가 있다는 것을 놓쳐서 문제를 반절은 맞고 반절은 틀리는 형태가 되었다. (맞은 건 운 좋게 테스트 케이스가 순서대로 동..

[Lv.1] 소수 만들기 [프로그래머스_코딩테스트] [Brute Force] [25분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/12977 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr숫자들 nums가 주어지고 해당 값들 중에서 숫자 3개를 합쳐서 소수가 되는 모든 경우의 수의 개수를 구하는 문제🧠 나의 접근 방식과 시행착오단순하게 생각해서 문제를 풀려고 시도했다. 다만 소수 구하는 부분에서 Sqrt를 써서 개수를 줄이려고 시도를 했으나 다른 부분에서 실수가 나는 바람에 해당 코드를 지웠다.. 문제를 이해할 때 합계가 같으면 경우의 수를 제외시키는 것으로 착각을 해서 Dictionary를 만들고 sum 값을 넣어서 걸렀..

[Lv.2] n^2 배열 자르기 [프로그래머스_코딩테스트] [구현, 인덱스 규칙 관찰] [30분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr정수 n과 left, right가 주어질때 n*n 크기의 2차원 배열을 만든다 하고 i행 i열까지 숫자 i로 채운 2차원 배열을 1차원 배열로 풀어서, left, right 인덱스값에 해당하는 숫자들을 반환하는 문제🧠 나의 접근 방식과 시행착오딱 30분 정도 걸린 문제. 생각외도 규칙을 찾으면 단순하게 풀 수 있는 문제긴 하다. 문제의 방식은 빠르게 생각했는데 자료형이 long으로 인자가 주어지는 바람에 row, col 값을 구할때 형변환..

[Lv.1] 약수의 개수와 덧셈 [프로그래머스_코딩테스트] [수학] [20분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/77884 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr숫자 left, right가 주어지고 left부터 right까지 약수의 개수가 짝수이면 더하고 홀수이면 빼서 합산을 구하는 문제🧠 나의 접근 방식과 시행착오단순하게 생각하면 left부터 right까지 반복을 돌리면서 약수를 일일이 다 구해보는 것. 숫자가 크게 되면 시간이 꽤나 소모되는 걸로 생각. 그래서 기존에 문제를 풀면서 다뤘던 약수를 구할 때는 제곱근까지만 구하면 된다는 것을 풀이에 적용했다. 그렇게 하면 계산을 반절 이하로 낮출 ..

[Lv.1] 푸드 파이트 대회 [프로그래머스_코딩테스트] [구현] [20분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/134240 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krfood라는 숫자 배열이 주어지고 0번 인덱스의 값은 무조건 1. 그 뒤로는 각 인덱스 번호의 음식 개수를 주어준다. 이 때 음식의 배열은 좌측과 우측에 동일한 개수가 낮은 숫자부터 차례대로 배치되어야 하고, 정중앙에는 0 (물)이 와야 한다. 이 때 최종 결과를 반환하기🧠 나의 접근 방식과 시행착오StringBuilder를 사용해서 문자열 수정에 대한 최적화를 고려했다. 다만 그 뒤로는 홀수이면 1개를 줄이고 양쪽에 정중앙 인덱스 기준..

[Lv.1] 콜라 문제 [프로그래머스_코딩테스트] [수학, 반복 계산] [25분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/132267 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr콜라를 마시고 빈병 n개를 가게에 가져다 주면 빈병 a개당 b개를 준다고 한다. 그럴 때 콜라 가게에서 받는 콜라의 병 개수를 합산한 결과를 반화하는 문제🧠 나의 접근 방식과 시행착오일단 n이 a보다 작아지는 순간까지 while을 돌린다. 그러고 n을 a로 나눈 몫과 나머지를 가지고 획득되는 콜라 병수 count를 더하고 새로 count 된 것과 나머지를 더해서 반복을 계속하는 문제. 문제 자체는 어렵지 않게 풀었던 문제지만 변수를 잘못..

[Lv.1] 숫자 문자열과 영단어 [프로그래머스_코딩테스트] [문자열, 구현] [25분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr숫자와 숫자를 영어단어로 바꾼 것들이 합쳐진 문자열 s가 주어졌을 때 문자열을 숫자로 돌렸을때의 숫자를 구하시오🧠 나의 접근 방식과 시행착오단순하게 문자열 s를 처음부터 순회를 하면서 영어 알파벳인 경우 단어가 완성되면 숫자로 바꾸고, 숫자인 경우 바로 바꾸어서 합산을 하는 형태로 풀었다. 18분 정도 소요된 문제. 정답은 확실하게 풀었지만 StringBuilder의 ToString이 자주 불리는 점과 코드가 생각보다 길어져서 간단하지 않..

[Lv.1] 두 개 뽑아서 더하기 [프로그래머스_코딩테스트] [Set, 정렬] [25분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/68644 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr정수 배열 numbers에서 숫자 2개를 뽑아서 더한 값을 중복이 없이 해서 오름차순 정렬하기🧠 나의 접근 방식과 시행착오약 16분 정도 걸린 문제. 문제는 빠르게 풀었지만 최적화 그런 부분 고려하지 않고 시간 절약형으로 단순하게 푼 듯 하다. 2중 for문을 돌면서 숫자 두개의 합을 더한 값을 List에 없으면 넣고 Sort를 돌려버리는 것 뿐using System;using System.Collections.Generic;public ..

반응형