seongho'Dev
![[Python] 프로그래머스 Lv2 - 피보나치 수](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEJVlr%2FbtrH0QVZ5Yx%2FOkm56ylAbIJwOIPDiRSm1K%2Fimg.png)
[Python] 프로그래머스 Lv2 - 피보나치 수
🔗 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📂 분류 DP 💡 풀이 피보나치 수는 DP의 대표적인 문제이다. 피보나치 수는 DP를 사용하지 않고 재귀 함수로 풀 경우 이미 계산된 값을 또 계산하기 때문에 스택 버퍼오버플로우가 발생할 수 있다. 때문에 DP를 사용하여 값을 구한다. 점화식은 다음과 같다 f[i] = f[i - 1] + f[i - 2] 위 점화식을 이용해 구현하면 문제를 해결할 수 있다. 💻 코드 MOD = 1234567 def solution(n): global MOD fibo = [0] * (n + 1) fibo[1] = ..
![[TIL] tsconfig 옵션](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHqilk%2FbtrHY6qWWub%2FaZhONZiOLKplYNA2r61RRk%2Fimg.png)
[TIL] tsconfig 옵션
새로운 프로젝트에서 typescript를 사용하게 되어 tsconfig의 옵션에 대한 내용을 정리하고자 한다. noImplictAny 변수들이 미리 정의된 타입을 가져야 하는지를 제어하는 옵션 noImplictAny가 비활성화되었을 경우 타입스크립트 컴파일러는 타입을 any로 추론 function add(x, y) { return x + y } noImplictAny가 활성화되었을 경우 타입을 반드시 명시해줘야 함 function add(x: number, y: number) { return x + y } strictNullChecks null과 undefined가 모든 타입에서 허용되는지 확인하는 옵션 strictNullChecks가 활성화되었을 때 null과 undefined 할당 불가능 const ..
![[Python] 프로그래머스 Lv2 - 최솟값 만들기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDm8az%2FbtrHiW3sklj%2Fx1TMDkId6KtjOLpfOwHvp0%2Fimg.jpg)
[Python] 프로그래머스 Lv2 - 최솟값 만들기
🔗 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📂 분류 그리디 💡 풀이 주어진 배열 2개의 원소를 곱한 값을 더하여 최솟값을 구하는 문제이다. 접근 방식 하나의 원소는 최솟값, 다른 원소는 최댓값을 곱해서 더하면 최솟값을 구할 수 있다. a 배열은 오름차순, b 배열은 내림차순으로 정렬한다. 💻 코드 def solution(a, b): answer = 0 a.sort() b.sort(reverse=True) for i in range(len(a)): answer += (a[i] * b[i]) return answer
![[Python] 프로그래머스 Lv2 - 최댓값과 최솟값](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FP4Q0K%2FbtrGKHdNVdw%2FESItjceMXVWKHtOjAKl9nk%2Fimg.jpg)
[Python] 프로그래머스 Lv2 - 최댓값과 최솟값
🔗 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📂 분류 문자열 구현 💡 풀이 문자열에 포함된 수들의 최댓값과 최솟값을 찾아내는 구현 문제이다. 파이썬으로 푼다면 매우 간단하게 해결할 수 있다. 💻 코드 def solution(s): s = list(map(int, s.split())) return str(min(s)) + ' ' + str(max(s))
![[Python] 프로그래머스 Lv2 - 주차 요금 계산 (2022 KAKAO BLIND RECRUITMENT)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboZkxI%2FbtrGlhsLcqj%2FSraOdus9ULAHEQ6ykkzTLK%2Fimg.jpg)
[Python] 프로그래머스 Lv2 - 주차 요금 계산 (2022 KAKAO BLIND RECRUITMENT)
🔗 문제 링크 코딩테스트 연습 - 주차 요금 계산 [180, 5000, 10, 600] ["05:34 5961 IN", "06:00 0000 IN", "06:34 0000 OUT", "07:59 5961 OUT", "07:59 0148 IN", "18:59 0000 IN", "19:09 0148 OUT", "22:59 5961 IN", "23:00 5961 OUT"] [14600, 34400, 5000] programmers.co.kr 📂 분류 구현 💡 풀이 딕셔너리 사용법이 익숙하지 않아 고생했지만 단순 구현 문제로 쉽게 해결할 수 있는 문제이다. 접근 방식 딕셔너리를 사용해서 차번호 별로 입/출차 기록을 저장한다. 입/출차 시간을 계산하기 위해 분 단위로 환산하여 딕셔너리에 저장한다. stack을 이..
![[Python] 프로그래머스 Lv2 - 줄 서는 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGwHe3%2FbtrGh0rEhR5%2F7sE1duveTSAv4PEtNsyM60%2Fimg.jpg)
[Python] 프로그래머스 Lv2 - 줄 서는 방법
🔗 문제 링크 코딩테스트 연습 - 줄 서는 방법 n명의 사람이 일렬로 줄을 서고 있습니다. n명의 사람들에게는 각각 1번부터 n번까지 번호가 매겨져 있습니다. n명이 사람을 줄을 서는 방법은 여러가지 방법이 있습니다. 예를 들어서 3명의 사람 programmers.co.kr 📂 분류 구현 수학 💡 풀이 이 문제는 규칙만 찾는다면 쉽게 해결할 수 있는 문제이다. 접근 방식 n!를 구한다. n! / n , k % (n! / n)를 구한다. 여기서 몫이 0이라면 -1 해준다. 2번의 해당하는 요소를 answer에 넣는다. n은 -1 하고, k는 num으로 나눈 나머지를 넣어준다. 1, 2, 3번 과정을 n이 0이 될 때까지 반복한다. 💻 코드 from math import factorial def solut..
![[Python] 프로그래머스 Lv2 - 숫자의 표현](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FedeJlc%2FbtrFjYO7IcV%2FcXR6hgkgzu6FPYKhyKZk50%2Fimg.jpg)
[Python] 프로그래머스 Lv2 - 숫자의 표현
🔗 문제링크 코딩테스트 연습 - 숫자의 표현 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 programmers.co.kr 📂 분류 완전탐색 💡 풀이 n이 10,000이하인 수 이기 때문에 완전탐색으로 풀었다. 반복문으로도 해결할 수 있는 문제이지만, 재귀의 약한 것 같아 재귀함수를 사용해서 풀었다. 💻 코드 def recursion(n, i, num): if n == num: return True if n > num: return False n += i return recursion(n, i + 1, num) def solution(n): answe..
![[Python] 프로그래머스 Lv2 - 숫자 블록](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnWl11%2FbtrFdfwijpx%2FnTay06RvkA1uzbEzp8L81k%2Fimg.jpg)
[Python] 프로그래머스 Lv2 - 숫자 블록
🔗 문제 링크 코딩테스트 연습 - 숫자 블록 1 10 [0, 1, 1, 2, 1, 3, 1, 4, 3, 5] programmers.co.kr 📂 분류 구현 수학 💡 풀이 이 문제는 설명을 잘 보고 풀어야 하는 문제이다. 설명을 보면 10,000,000번까지 규칙을 적용했다고 나와있다. 따라서 천만이 넘는 번호라면 1번 블록을 설치해야 한다. 접근 방식 해당 숫자에 가장 큰 약수를 넣어준다. 만약 소수라면 1을 넣어준다. 💻 코드 def solution(begin, end): MAX = 10000001 answer = [] for i in range(begin, end + 1): num = 0 if i == 1 else 1 for j in range(2, int(i ** 0.5) + 1): if i % j..
![[Python] 프로그래머스 Lv2 - k진수에서 소수 개수 구하기 (2022 KAKAO BLIND RECRUITMENT)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpfeLs%2FbtrE7w6sw0X%2FMBZf9RaYyzHeJzjNDAVhoK%2Fimg.jpg)
[Python] 프로그래머스 Lv2 - k진수에서 소수 개수 구하기 (2022 KAKAO BLIND RECRUITMENT)
🔗 문제링크 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr 📂 분류 구현 💡 풀이 단순 구현 문제였는데 에라토스테네스의 체를 이용해 소수를 구하려고 했으나 범위를 얼마나 지정해야 줘야 알 수 없기에 단순하게 소수를 구하는 로직을 구현했다. 에라토스테네스의 체를 이용하면 1번과 11번이 런타임 오류가 발생한다. 접근 방식 n을 k진수로 바꿔준다. 문제 설명에 나와있는 조건에 따라 소수는 '0'을 split 한 숫자이다. 💻 코드 def convert(num,..