05-04 19:53
Notice
Recent Posts
Recent Comments
«   2025/05   »
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
Archives
Today
Total
관리 메뉴

(주) 망나니 힘집

[해커랭크] 코딩테스트 문제 시도 [Java Loops 1] [10 포인트] 본문

스펙도 쌓니/코테 막푸니

[해커랭크] 코딩테스트 문제 시도 [Java Loops 1] [10 포인트]

군포망나니 2024. 11. 6. 01:00

[해커랭크] 코딩테스트 문제 시도 [nn번] [해결 =? O/X]

"풀이" 가 아닌 "시도" 를 추구합니다.

 

풀이 환경  

 

언어 버전 : Java8 

사용 패키지 : x    

문제 요약   

 

n 값 받고 n x 1 부터 10까지 구구단 출력하기

 

나의 코드 및 나의 해설 

 

처음에는 앞선 문제인 JAVA OUTPUTFORMATTING 을생각해서 아래와 같이 작성했다. 

import 생략 

public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

        int N = Integer.parseInt(bufferedReader.readLine().trim());
        
        //그냥 BufferedReader 를 썼길래 일단 선언해줌
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        
        for(int i = 0; i < 10; i++){
            System.out.printf("%d x %d = %d \n",N, i+1, N * (i+1));        
        }
        
        bufferedReader.close();
    }
}

 

 

잘 나온다. 험... 너무 쉽게 나왔는데...? 

혹시 다른 방법이 있나 싶어 다른 사람의 코드들을 둘러보니 다 비슷허다. 

일단 좀 다른 것은 아래와 같이 i 의 시작점 위치가 다르다. 나도 처음에는 이렇게 작성하려 했으나 

for(int i = 1;i <= 10; i++) {
        System.out.printf("%d x %d = %d%n", N, i, N*i);
    }

 

뭔가 i = 0 부터 고정을 시키는 것이 국룰같아 print 할 때 변경해주었다. 

 

 

문제 해답 풀이와 비교  

 

비슷해서 생략

 

시간복잡도 및 공간복잡도 비교 

 

for 문 한 번 돌리니 시간복잡도는 O(n) 일까. 

 

놓친 부분과 배운 개념

 

format 형식 출력자. 생각보다 유용하고 중요하다.  

그냥 println() 으로 쓰면 다들 + 기호와 " " 기호를 남발한다.