일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- stdin vs input
- next Link
- 파이어베이스
- kotlin
- firebase
- k for k
- Android
- 코딩테스트
- 파이썬
- 타입스크립트
- Python
- HTML
- 스택
- 자바스크립트
- CSS
- 알고리즘
- 최적화
- javascript
- TS
- C++
- NPM
- 리액트
- 백준 스택 시간초과 python
- react
- 백준 스택
- 안드로이드
- 프론트엔드
- JS
- typescript
- nodejs
- Today
- Total
목록코딩테스트 알고리즘 (41)
sooleeandtomas

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Hash는 이름은 어렵게 생겼지만, 참 쉽다. key와 value로 이루어진 Dictionary이다. { headGear: headGear의 개수, eyeWear:eyeWear의 개수 } 위와 같은 형태의 dictionary를 만들어주면 된다. 그리고 준비물은 아래 두가지이다. 1) 경우의 수를 구하는 법 = a의 경우의 수 * b의 경우의 수 2) "안 입은 경우" 추가하고 제외하기. 각 타입에 관해서는 안 입는 것은 추가해야 하고, 최종적으로 모든 타입을 안입었을 경우는 제외해야 한다. 참고 코드 def ..

2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net 첫번째 풀이 a = int(input()) b = str(input()) #str으로 형변환을 해주지 않으면 b[2]에서 에러가 난다. #TypeError: 'int' object is not subscriptable a1 = int(b[2]) * a a2 = int(b[1]) * a a3 = int(b[0]) * a print(a1, a2, a3, a * int(b)) 두번째 풀이 (반복문) a = int(input()) b = str(input()) for i in range(2, -1, -1): #[2]이하부터 [-1]초과까지 == [2]~[0] print(in..

나의 풀이 아래에 설명된 arr[::-1]의 문법을 이용해서 단어를 뒤집어버렸다. 간단하지만 아쉽게도 stack에 어울리는 풀이가 아닌 것 같다. N = int(input()) for i in range(N): sen = input().split(' ') arr = [] for a in list(sen): b = a[::-1] #단어를 뒤집어서 저장해줌 arr.append(b) print((' ').join(arr)) 다른 사람의 풀이 stack에 더 어울리는 풀이 같아서 가져왔다. 띄어쓰기를 중심으로 움직인다. 띄어쓰기가 아니면 stack에 append, 띄어쓰기가 맞으면 stack에 있는 내용을 pop하며 print해준다. + 띄어쓰기도 한번 print해줌 N = int(input()) for i i..

9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 완전탐색의 두번째 문제. 솔직히 이번 문제도 이런 규칮기 있다는 걸 모른다면 풀기 어려울 것 같다. 규칙이 딱히 없는 d[1]=1, d[2]=2, d[3]=4 로 정해놓고 시작한다. 그 다음 수부터는 바로 앞 규칙 수 + 두번째 앞 규칙 수 + 세번째 앞 규칙수를 더한 것과 같다. 이는 d[n-1] + d[n-2] + d[n-3] 으로 적용할 수 있다. 그리고 각 d[n-1] 이 1 혹은, 2 혹은 3이 될 때까지 재귀함수를 돌린다. 참고 코드 import sys N = int(input()) def sol(num): if num == 1: return 1 e..

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 오늘은 python 문법 폭탄을 맞았다. python의 set, permutations, 병합 업데이트 연산자 |= vs |, extend vs append ... 를 배웠다. 하단에 나와있는 문법들을 참고하여 아래 코드를 보자. 참고 코드 from itertools import permutations def solution(numbers): answer = 0 case = makeCase(numbers) for n in case: if isPrime(n): answer += 1 return answer de..

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 문제는 어렵지 않은 것 같다. (10,2)가 주어졌을 때, 전체의 블록 수를 구한다. => 12 (10 + 2) for문을 돌면서 12의 약수를 구한다. (12 % i == 0) for문은 12부터 2까지 돈다. 아래 이미지처럼 2보다 가로나 세로가 작게되면 가운데 블록이 0개가 되기때문에 2까지만 고려해준다. [12,1],[6,2],[4,3][2,6][1,12] [가로,세로] 이 중에서 (가로-2) x (세로-2) == yellow가 되면 for문 박차고 나온다. 아래 이미지처럼 노란색의 블록 개..