일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- finops
- serverless
- amqp
- 머신러닝
- 맥주
- github pages
- 아키텍처
- S3
- 노션
- Kafka
- 메세지큐
- Leetcode
- 하이트진로
- 백준
- zookeeper
- 도메인 주도 설계
- HEXO
- LAMBDA
- Notion
- ddd
- CloudWatch
- 2020년
- billing
- 알고리즘
- Zappa
- AWSKRUG
- API Gateway
- React
- 회고
- AWS
- Today
- Total
인생은 고통의 연속
5일차 리뷰 본문
반응형
2019/01/10 - [프로그래밍/알고리즘] - 4일차 리뷰
step5는 함수
슬슬 괴로운 문제들이 나온다
재귀함수 문제는 너무너무 귀찮....
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
첫째 줄에 N이 주어진다. N은 항상 3×2k 수이다. (3, 6, 12, 24, 48, ...) (k ≤ 10)
처음에 쉽네하고 풀었다가
가운데 빈 역삼각형 부분도 별로 채워버렸다
잘 생각해보니 재귀 문제...
처음에 k = 1일때의 별을 고정으로 사용하고
k = 2부터 재귀적으로 이전에 만든 별에 x3를 하는 방식으로 풀었다.
주어진 N이 3×2k이라서 k를 만들어내는게 귀찮긴 했다.
(java가 정적타입이다보니 Math의 함수를 쓰면 주로 double로 나와서 타입캐스팅을 자주 해야한다.)
난 string에 append하는 방식으로 삼각형을 그렸는데 배열을 사용한 사람도 있었다.
확실히 알고리즘 대회 준비하는 분들은 거의 다 배열로 푼거 같다(푼 문제 수를 보니 어마어마...)
근데 거의 다 속도는 비슷한거 같고 좀 더 빠른 사람은 println대신 BufferedWriter를 썼다.
단계별로 문제 푼사람이라면 BufferedWriter가 더 빠르다는걸 알고 있을거다
https://www.acmicpc.net/problem/15552
난 굳이 출력 속도까지 고려하면서 공부하는게 아니라서 그냥 println을 썼다.
대충 0.1초 정도 차이나는 듯
어차피 뒤로 갈수록 출력이 많아서 느린 문제는 없으니 난 편한걸로 써야지 ㅎㅎ
내 풀이 : https://github.com/gnidoc327/one-day-one-problem/commit/8b5f7e44e85bfc7690decca12c0bade9a2ebd4ff
반응형
Comments