일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 게임
- Bull
- 정렬
- jest
- TypeScript
- nodejs
- Queue
- JavaScript
- class
- Sequelize
- OCR
- mongoose
- cookie
- Dinosaur
- nestjs
- Nest.js
- GIT
- react
- 공룡게임
- AWS
- MongoDB
- flask
- typeORM
- game
- dfs
- 자료구조
- MySQL
- Express
- Python
- Today
- Total
목록자료구조알고리즘 (128)
포시코딩
문제 https://school.programmers.co.kr/learn/courses/30/lessons/86051 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 def solution(numbers): answer = 0 for i in range(10): if i in numbers: continue else: answer += i return answer 다른 풀이 def solution(numbers): return 45 - sum(numbers) 나도 거의 근접하게 생각했었는데 결국 도출하지 못한 풀이.. numbers가 만약 0부터..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12918 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 def solution(s): try: if len(s) == 4 or len(s) == 6: temp = int(s) answer = True else: answer = False except: answer = False return answer 숫자 문자 변형 문제는 최근에 try-except문을 자주 쓰고 있는데 더 좋은 방법은 없을까? -> 파이썬 isdigit()을 통해 숫..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 def solution(strings, n): # n번째가 같은 문자일 경우에 대비해 미리 전체 정렬을 해준다. strings.sort() l = len(strings) for i in range(l-1): for j in range(l-i-1): if strings[j][n] > strings[j+1][n]: strings[j], strings[j+1] = strings[j+1],..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12912 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 # 1부터 n까지의 합을 구하는 방법에 대해 삼각형-사각형을 만들어 구하는 방법을 # n부터 m까지의 합을 구하는 방법에도 적용해볼 수 있다. # 적용한다면 (b-a+1)*(b+a)/2 # 예외처리 1) a와 b가 같을 경우 # 예외처리 2) 위 공식은 b가 더 클 경우만 적용됨 a가 더 클 경우에 대해 고려 def solution(a, b): if a == b: return a i..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12948 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 def solution(phone_number): answer = phone_number[-4:].rjust(len(phone_number), '*') return answer 처음에는 뒤에 네자리 자르는건 쉬운데 앞을 어떻게 *로 만들지? 라는 생각이었다. 특정 조건에 맞는걸 다 replace할 방법이 없을까 생각하다가 replace하는 방법을 포기하고 어제 새로 배운 rjust(..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 - Python def solution(n, arr1, arr2): answer = [] for i in range(n): a = int(format(arr1[i], 'b')) b = int(format(arr2[i], 'b')) c = a + b c = str(c).replace('2', '1') while len(c) < n: c = '0'+c c = c.replace('1', ..
유추한 방법 e1 = [1, 4], e2 = [3, 8] 두 좌표를 지나가는 일차함수에 대해 기울기를 구하는 과정을 직접 적어봤다. 4 = 1a + b# e2[1] = e1[0] * a + b 8 = 3a + b# e2[1] = e2[0] * a + b b = 4 - 1a# b = e1[1] - (e1[0] * a) b = 8 - 3a# b = e2[1] - (e2[0] * a) 4 - 1a = 8 - 3a# e1[1] - (e1[0] * a) = e2[1] - (e2[0] * a) (3 - 1)a = 8 - 4# (e2[0] - e1[0]) * a = e2[1] - e1[1] a = 4/2 = 2# a = (e2[1] - e1[1]) / (e2[0] - e1[0]) e1, e2 말고 더 알아보기 쉽게 ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120875 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 # 주어진 두 좌표를 이은 선분들이 서로 평행인지 확인하려면 # 그 선분을 포함한 직선의 일차함수를 구해 # 서로의 기울기가 같으면 평행인 것을 활용하면 된다. # y = ax + b라고 할 때, a는 기울기, b는 y절편이 되며 # 예시의 (1, 4), (3, 8)의 일차함수 y=2x+2와 # (9, 2), (11, 6)의 일차함수 y=2x-16의 기울기는 같으므로 평행이다. #..
유클리느 호제법이란? https://velog.io/@yerin4847/W1-유클리드-호제법 유클리드 호제법(Euclidean-algorithm) 유클리드 호제법에 대해 알아보자. velog.io 개념은 정리가 너무 잘 되어있어 링크째로 남긴다. 최대공약수(GCD, Greatest Common Divisor) 코드 위 포스팅 예제는 C언어로 작성되었기 때문에 파이썬으로 나타내봤다. 반복문 # 반복분 def gcd(a, b): while b: temp = a % b a = b b = temp return a 재귀함수 # 재귀함수 def gcd(a, b): return (gcd(b, a % b) if b else a) 최소공배수(LCM, Least Common Multiple) 두 수 a, b에 대해 위 방..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120866 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 def test(): for i, one in enumerate(arr): for j, e in enumerate(one): if e == 1: arr[i][j-1] = 2 arr[i][j] = 2 arr[i][j+1] = 2 arr[i-1][j-1] = 2 arr[i-1][j] = 2 arr[i-1][j+1] = 2 arr[i+1][j-1] = 2 arr[i+1][j] = 2 a..