개발자 미니민의 개발스터디

코드업[CodeUp] 1084번 풀이 ⭐

by mini_min

코드업[CodeUp] 1084번 풀이 : 빛 섞어 색 만들기

https://codeup.kr/problem.php?id=1084

 

[기초-종합] 빛 섞어 색 만들기(설명)

C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.  - 모든 내용

codeup.kr

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int count = 0;
		int [] rgb = new int[3];
		
		for(int i=0; i<3; i++) {
			rgb[i] = sc.nextInt();
		}
		
		for(int i=0; i<rgb[0]; i++) {
			for(int j=0; j<rgb[1]; j++) {
				for(int z=0; z<rgb[2]; z++) {
					System.out.println(i +" " + j + " " + z);
					count++;
				}
			}
		}
		
		System.out.println(count);
		sc.close();

	}

}

 

위에 처럼 스캐너와 for 문으로 풀었는데 시간초과 오류가 떴다...

찾아보니 버퍼리더를 사용해야하는 듯 했다.

 

스캐너를 버퍼리더로 바꾸고 다시 실행하니 또 오류.... 

보니까 System.out.println(i +" " + j + " " + z); 함수가 굉장히 처리가 느린 아이라고 한다.... 새로 알아간 내용!

그래서 버퍼라이트 도 사용했다...ㅎㅎ

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class _1084_1 {

	public static void main(String[] args) throws IOException {
		// 빛 섞어 색 만들기
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		String[] a = br.readLine().split(" ");
		
		int count = 0;

		for(int i=0; i<Integer.valueOf(a[0]); i++) {
			for(int j=0; j<Integer.valueOf(a[1]); j++) {
				for(int z=0; z<Integer.valueOf(a[2]); z++) {
					bw.write(i + " " + j + " " + z + "\n");
					count++;
				}
			}
		}
		
		bw.write(String.valueOf(count));
		bw.flush();

	}

}

 

앞으로 버퍼 리더 적극 활용해야겠다.

 

 

 

 

블로그의 정보

개발자 미니민의 개발로그

mini_min

활동하기