인생은 고통의 연속

5일차 리뷰 본문

프로그래밍/알고리즘

5일차 리뷰

gnidoc 2019. 1. 12. 00:45
    반응형

    2019/01/10 - [프로그래밍/알고리즘] - 4일차 리뷰


    step5는 함수


    슬슬 괴로운 문제들이 나온다

    재귀함수 문제는 너무너무 귀찮....




    2448번

    예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
    첫째 줄에 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

    반응형

    '프로그래밍 > 알고리즘' 카테고리의 다른 글

    7일차 리뷰  (0) 2019.01.14
    6일차 리뷰  (0) 2019.01.12
    4일차 리뷰  (0) 2019.01.10
    3일차 리뷰  (0) 2019.01.09
    1, 2일차 리뷰  (0) 2019.01.08
    Comments