[코드업/자바] 기초 100제 2.입출력문 및 연산자 :: 1065~1084
my code archive
article thumbnail
반응형

'문제집'으로 보고 하다가 1064번에서 1085번으로 건너뛰어버렸다,,

뭔가 이상해서 '문제'로 봤더니 저렇게 되어 있네...

ㅋㅋㅋㅋㅋㅋㅋ1065번부터 다시 풀기,,,

 

🤍코드업(CodeUp) 기초100제 2.입출력문 및 연산자 1063,1064,1085,1086 자바(JAVA)로 풀기🤍

 

문제 1065. 정수 3개 입력받아 짝수만 출력하기
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		int a = scanner.nextInt();
		int b = scanner.nextInt();
		int c = scanner.nextInt();
		
		if(a%2==0) 
			System.out.println(a);
		if(b%2==0) 
			System.out.println(b);
		
		if(c%2==0) 
			System.out.println(c);
		
	}	
}

 

문제 1066. 정수 3개 입력받아 짝/홀 출력하기
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		int a = scanner.nextInt();
		int b = scanner.nextInt();
		int c = scanner.nextInt();
		
		if(a%2==0) 
			System.out.println("even");
		else if(a%2==1)
			System.out.println("odd");
		if(b%2==0) 
			System.out.println("even");
		else if(b%2==1)
			System.out.println("odd");
		if(c%2==0) 
			System.out.println("even");
		else if(c%2==1)
			System.out.println("odd");
	}	
}

 

문제 1067. 정수 1개 입력받아 분석하기
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		int a = scanner.nextInt();
		
		if(a>0) {
			System.out.println("plus");
		}else {
			System.out.println("minus");
		}
		if(a%2==0) {
			System.out.println("even");
		}else {
			System.out.println("odd");
		}
	}	
}

 

문제 1068. 정수 1개 입력받아 평가 출력하기
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		int a = scanner.nextInt();
		
		if(a>=90 && a<=100) {
			System.out.println("A");
		}else if(a>=70 && a<=89) {
			System.out.println("B");
		}
		else if(a>=40 && a<=69) {
			System.out.println("C");
		}else if(a>=0 && a<=39) {
			System.out.println("D");
		}
	}	
}

 

문제 1069. 평가 입력받아 다르게 출력하기
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		String result = scanner.next();
		
		switch(result.toUpperCase()) {
		
		case "A":
			System.out.println("best!!!");
			break;
		case "B":
			System.out.println("good!!");
			break;
		case "C":
			System.out.println("run!");
			break;
		case "D":
			System.out.println("slowly~");
			break;
		default:
			System.out.println("what?");
			break;
		}
	}	
}

 

문제 1070. 월 입력받아 계절 출력하기
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		String result = scanner.next();
		int month = Integer.parseInt(result);
		
		switch(month) {
		
		case 12: case 1: case 2:
			System.out.println("winter");
			break;
		case 3: case 4: case 5:
			System.out.println("spring");
			break;
		case 6: case 7: case 8:
			System.out.println("summer");
			break;
		case 9: case 10: case 11:
			System.out.println("fall");
			break;
		
		}
	}	
}

 

문제 1071. 0이 입력될 때까지 무한 출력하기
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		while(true) {
			int a = scanner.nextInt();
			if(a==0)
				break;
			System.out.println(a);
		}
	}	
}

 

문제 1072. 정수 입력받아 계속 출력하기
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		int a = scanner.nextInt();
		int[] b = new int[a];
		
		for(int i=0; i<b.length; i++) {
			b[i] = scanner.nextInt();
		}
		for(int i=0; i<b.length; i++) {
			System.out.println(b[i]);
		}
		
	}	
}

 

문제 1073. 0이 입력될 때까지 무한 출력하기
import java.util.ArrayList;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		ArrayList<Integer> nums = new ArrayList<>();
		
		int num;
		while(true) {
			num = scanner.nextInt();
			nums.add(num);
			if(num==0)
				break;
			System.out.println(num);
		}
		
	}	
}

 

문제 1074. 정수 1개 입력받아 카운트다운 출력하기
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		int a = scanner.nextInt();
		for(int i=a; i>0; i--) {
			System.out.println(i);
		}
	}	
}

 

문제 1075. 정수 1개 입력받아 카운트다운 출력하기2
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		int a = scanner.nextInt();
		for(int i=a-1; i>=0; i--) {
			System.out.println(i);
		}
	}	
}

 

문제 1076. 문자 1개 입력받아 알파벳 출력하기
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		char a=scanner.nextLine().charAt(0);
		
		for(char i='a'; i<=a; i++) {
			System.out.print(i+" ");
		}
	}	
}

왜자꾸 표현 에러라는거야!!!겨우 냈네...

 

문제 1077. 정수 1개 입력받아 그 수까지 출력하기
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		int a = scanner.nextInt();
		
		for(int i=0; i<=a; i++) {
			System.out.println(i);
		}
	}	
}

 

문제 1078. 짝수 합 구하기
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		int a = scanner.nextInt();
		
		int sum=0;
		for(int i=1; i<=a; i++) {
			if(i%2==0) {
				sum+=i;
			}
		}
		System.out.print(sum);
	}	
}

 

문제 1079. 원하는 문자(q)가 입력될 때까지 반복 출력하기
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		while(true) {
			char a =scanner.next().charAt(0);
			
			if(a=='q') {
				System.out.println(a);
				break;
			}
			
			System.out.println(a);
		}
	}	
}

 

문제 1080. 언제까지 더해야 할까?
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		int a=scanner.nextInt();
		
		int sum=0;
		int cnt=0;
		
		if(a>=0 && a<=1000) {
			while(sum<a) {
				cnt++;
				sum+=cnt;
			}
		}
		System.out.println(cnt);
	}	
}

 

문제 1081. 주사위를 2개 던지면?
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		int a=scanner.nextInt();
		int b=scanner.nextInt();

		for(int i=1; i<=a; i++) {
			for(int j=1; j<=b; j++) {
				System.out.println(i+" "+j);
			}
		}
	}	
}

 

문제 1082. 16진수 구구단
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		int a = scanner.nextInt(16); //16진수
		
		for(int i=1; i<16; i++) {
			System.out.printf("%X*%X=%X\n",a,i,a*i);
		}
	}	
}

 

문제 1083. 3 6 9 게임
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		int a = scanner.nextInt();
		
		for(int i=1; i<=a; i++) {
			if(i%3==0) {
				System.out.print("X ");
			}else if(i%3 !=0) {
				System.out.print(i+" ");
			}
		}
	}	
}

 

문제 1084. 빛 섞어 색 만들기
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		int r=scanner.nextInt();
		int g=scanner.nextInt();
		int b=scanner.nextInt();
		int cnt=0;
		
		for(int i=0;i<r;i++) {
			for(int j=0;j<g;j++) {
				for(int x=0;x<b;x++) {
					System.out.printf("%d %d %d\n",i,j,x);
					cnt+=1;
				}
			}
		}
		
		System.out.println(cnt);
	}	
}

 

위와 같이 하면 시간 초과 에러가 난다.

코드에 문제는 없지만

System.out.println(); 이 속도가 매우 느리기 때문이다!!

🤍BufferReader, BufferWriter 클래스를 이용해 입출력을 받으면

시간 초과를 해결할 수 있다는 사실을 알게 되었다.

 

수정 코드

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){
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		try {
			String[] a = br.readLine().split(" ");
			int cnt = 0;
			BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
			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");
						cnt++;
					}
				}
			}
			bw.write(String.valueOf(cnt));
			bw.flush();
		}catch (NumberFormatException e) {
			e.printStackTrace();
		}catch (IOException e) {
			e.printStackTrace();
		}
	}	
}
반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형