반응형
츄르사려고 코딩하는 코집사입니다.
1. [코드업] 기초 100제 1084번 빛 섞어 색 만들기 자바(JAVA)
1) 문제번호 : 1084번
2) 문제 출처
2. 문제
빨강(red), 초록(green), 파랑(blue) 빛을 섞어
여러 가지 빛의 색을 만들어 내려고 한다.
빨강(r), 초록(g), 파랑(b) 각각의 빛의 개수가 주어질 때,
(빛의 강약에 따라 0 ~ n-1 까지 n가지의 빛 색깔을 만들 수 있다.)
주어진 rgb 빛들을 다르게 섞어 만들 수 있는 모든 경우의 조합(r g b)과
총 가짓 수를 계산해보자.
예시
int i, j, k, c=0;
int r, g, b;
scanf("%d%d%d”, &r, &g, &b);
for(i=0; i<r; i++)
for(j=0; j<g; j++)
for(k=0; k<b; k++)
{
printf("%d %d %d\n", i, j, k);
c++;
}
printf("%d ", c);
3. 제약사항
-
4. 입력
빨녹파(r, g, b) 각 빛의 강약에 따른 가짓수(0 ~ 128))가 공백을 사이에 두고 입력된다.
예를 들어, 3 3 3 은 각 색깔 빛에 대해서 그 강약에 따라 0~2까지 3가지의 색이 있음을 의미한다.
5. 출력
만들 수 있는 rgb 색의 정보를 오름차순(계단을 올라가는 순, 12345... abcde..., 가나다라마...)으로
줄을 바꿔 모두 출력하고, 마지막에 그 개수를 출력한다.
6. 풀이
- 간단한 for문을 이용한 반복문
7. 소스 코드
- 아래의 코드처럼 풀었더니 시간초과가 났다.
- 왜 버퍼리더와 버퍼라이터를 쓰는지 알겠다.
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int count = 0;
for(int i=0;i<a;i++) {
for(int j=0;j<b;j++) {
for(int k=0;k<c;k++) {
System.out.printf("%d %d %d\n",i,j,k);
count+=1;
}
}
}
System.out.println(count);
}
}
- 버퍼리더와 버퍼라이터 사용한 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
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 k=0;k<Integer.valueOf(a[2]);k++) {
bw.write(i + " " + j + " " + k + "\n");
count++;
}
}
}
bw.write(String.valueOf(count));
bw.flush();
}
}
반응형
'알고리즘 > 코드업' 카테고리의 다른 글
[코드업] 기초 100제 1088번 3의 배수는 통과? 자바(JAVA) (0) | 2021.02.05 |
---|---|
[코드업] 기초 100제 1087번 여기까지! 이제 그만~ 자바(JAVA) (0) | 2021.02.05 |
[코드업] 기초 100제 1086번 그림 파일 저장용량 계산하기 자바(JAVA) (0) | 2021.02.05 |
[코드업] 기초 100제 1085번 소리 파일 저장용량 계산하기 자바(JAVA) (2) | 2021.02.05 |
[코드업] 기초 100제 1083번 3 6 9 게임의 왕이 되자! 자바(JAVA) (0) | 2021.02.04 |
[코드업] 기초 100제 1082번 16진수 구구단? 자바(JAVA) (0) | 2021.02.04 |
[코드업] 기초 100제 1081번 주사위를 2개 던지면? 자바(JAVA) (0) | 2021.02.04 |
[코드업] 기초 100제 1080번 언제까지 더해야 할까? 자바(JAVA) (0) | 2021.02.02 |
최근댓글