프로그래밍/알고리즘
5일차 리뷰
gnidoc
2019. 1. 12. 00:45
반응형
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
반응형