기린의 기록을 위한 공간

[JAVA]codeUp코드업 기초100제 자바로 풀기(1081~1099) 본문

Algorithm/codeUp기초100제

[JAVA]codeUp코드업 기초100제 자바로 풀기(1081~1099)

girin code 2020. 3. 1. 21:07

1081

package com.algo.controller;

import java.util.Scanner;

public class Code{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        System.out.print("정수입력 : ");
        int a = sc.nextInt();
        
        System.out.print("정수입력 : ");
        int b = sc.nextInt();
        
        for(int i=1; i<=a; i++) {
            for(int n=1; n<=b; n++) {
                System.out.println(i+" "+n);
            }
        }
               
    }
}


1082

package com.algo.controller;

import java.util.Scanner;
import java.util.regex.Pattern;

public class Code{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        System.out.print("문자입력 : ");
        String a = sc.nextLine();
        
        //정규표현식을 이용 ^A시작-Z종료
        boolean flag = Pattern.matches("^[A-Z]*$", a);
        
        if(flag) {
            //String을 16진수로 형변환
            int num = Integer.parseInt(a, 16);
            
            for(int i=1; i<16; i++) {
                // %X 정수를 16진법으로 표시 %n은 자동판단 줄바꿈
                System.out.format("%X*%X=%X%n",num,i,num*i);
            }
        }     
    }
}


1083

package com.algo.controller;

import java.util.Scanner;

public class Code{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        System.out.print("정수입력(1~9) : ");
        int num = sc.nextInt();
        
        for(int i=1; i<=num; i++) {
            if(i%3==0) {
                System.out.print("X ");
            }else {
                System.out.print(i+" ");
            }
            
        }
       
    }
}


1084

package com.algo.controller;

import java.util.Scanner;

public class Code{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
       System.out.print("정수입력 : ");
       int r = sc.nextInt();
       int g = sc.nextInt();
       int b = sc.nextInt();
       int count = 0;
       
       for(int i=0; i<r; i++) {
           for(int n=0; n<g; n++) {
               for(int k=0; k<b; k++) {
                   System.out.println(i+" "+n+" "+k);
                   count++;
               }
           }
       }
       System.out.println(count);
       
    }
}


1085

package com.algo.controller;

import java.util.Scanner;

public class Code{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        int h = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        int s = sc.nextInt();
        double total = 0;
        
        if(h>0 && h<=48000 && 
            b>0 && b<=32 && b%8==0 && 
            c>0 && c<=5 &&
            s>0 &&s<=6000) {
            total = h*b*c*s;
        }
        
        //Math.pow(밑,지수) 2의 10승
        // ? = (h*b*c*s)/8
        // ? / 1024byte == kB
        // MB로 출력하기위에 1024로 한번더 나눠준다.
        double result = ((total/8)/Math.pow(210))/Math.pow(210);
        System.out.format("%.1f MB",result);
      
    }
}


1086

package com.algo.controller;

import java.util.Scanner;

public class Code{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        int w = sc.nextInt();
        int h = sc.nextInt();
        int b = sc.nextInt();
        double total = 0;
        
        if(w>0 && w<=1024 &&
            h>0 && h<=1024 &&
            b>0 && b<=40 && b%4==0) {
            total = (w*h*b)/8;
        }
        double result = (total/Math.pow(2,10))/Math.pow(210);
        System.out.format("%.2f MB", result);   
    }
}


1087

package com.algo.controller;

import java.util.Scanner;

public class Code{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        int num = sc.nextInt();
       
        int sum = 0;       
        if(num>0 && num<=100000000) {
            for(int i=0; ;i++) {
                sum+=i; //무한반복으로 sum에 i를 누적시킨다.
                if(sum>=num)break//sum이 num보다 크면 반복문 중단
            }

        }
            System.out.print(sum);
        }
        
    }


1088

package com.algo.controller;

import java.util.Scanner;

public class Code{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        int num = sc.nextInt();
       
        for(int i=1; i<=num; i++) {
            if(i%3==0continue//3의배수면 아래부분 생략하고 계속 반복
            System.out.print(i+" ");
        }
         
    }
}


1089

package com.algo.controller;

import java.util.Scanner;

public class Code{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        int a = sc.nextInt();
        int d = sc.nextInt();
        int n = sc.nextInt();
        
        for(int i=a; i<n; i++) {
            a += d;
        }
        System.out.print(a);
              
        }
    }


1090

package com.algo.controller;

import java.util.Scanner;

public class Code{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        int a = sc.nextInt();
        int r = sc.nextInt();
        int n = sc.nextInt();
    
        for(int i=1; i<n; i++) {
            a*=r;            
        }
        System.out.print(a);
    }
}


1091

package com.algo.controller;

import java.util.Scanner;

public class Code{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        int a = sc.nextInt();
        int m = sc.nextInt();
        int d = sc.nextInt();
        int n = sc.nextInt();
        ;
        for(int i=1; i<n; i++) {
            a = (a*m)+d;
        }
        System.out.println(a);
    }
}


1092

package com.algo.controller;

import java.util.Scanner;

public class Code{
    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 day = 1;
        
        //a,b,c의 최소 공배수 찾기
        //a,b,c가 모두 만족하는 day가 되었을 때 반복문 종료하기
        while(day%a!=0 || day%b!=0 || day%c!=0) {
            day++;
        }
        System.out.print(day);
    }
}


1093

package com.algo.controller;

import java.util.Scanner;

public class Code{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
            
    
        System.out.print("무작위로 부른 번호 : ");
        String num = sc.nextLine();
        
        //10개의 무작위로 부른 번호가 들어간 배열 1 3 2 2 5 6 7 4 5 9
        String [] arr = num.split(" ");
                
        int total[] = new int[23];
        for(int i=0; i<arr.length; i++) {
            //arr[0]번에는 1번이 1번불려서 1이 저장된다.
            //arr[1]번에는 2번이 2번불려서 2가 저장된다.
            //...arr[9] 한칸씩 밀려서 저장되기때문에 -1을 해준다.
            total[Integer.parseInt(arr[i])-1] +=1;
        }
        
        for(int i=0; i<total.length; i++) {
            System.out.print(total[i]+" ");
        }
    }   
}  


1094

package com.algo.controller;

import java.util.Scanner;

public class Code{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
    
        System.out.print("무작위로 부른 번호 : ");
        String num = sc.nextLine();
        
        //10개의 무작위로 부른 번호가 들어간 배열 
        String [] arr = num.split(" ");
                    
        for(int i=arr.length-1; i>=0; i--) {
            System.out.print(arr[i]+" ");
        }
    }  
}  


1095

package com.algo.controller;

import java.util.Scanner;

public class Code{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
    
        System.out.print("무작위로 부른 번호 : ");
        String num = sc.nextLine();
            
        String [] arr = num.split(" ");
        
        int [] narr = new int[arr.length];
        
        //String 배열 int배열로 형변환 하기
        for(int i=0; i<arr.length; i++) {
            narr[i] = Integer.parseInt(arr[i]);
        }
        
        //변수에 10을 넣는다
        int min = narr[0];
        
        //narr 배열중에서 10보다 작은수가 있으면  min에 넣는다
        for(int i=0; i<arr.length; i++) {
            if(narr[i]<min) {
                min = narr[i];
            }
        }
        
        System.out.println(min);
        
    }  
}


1096

package com.algo.controller;

import java.util.Scanner;

public class Code{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
    
        int arr[][]= new int[20][20];
        int x,y;
        
        System.out.print("흰돌의 개수 : ");
        int n = sc.nextInt();
        
        for(int i=0; i<n; i++) {
            System.out.print("돌 놓을 좌표 : ");
            x = sc.nextInt();
            y = sc.nextInt();
            //한칸씩 땡겨서 입력되있으므로 -1을 해준다
            arr[x-1][y-1] = 1;  
    }  
        for(int i=0; i<arr.length-1; i++) { //행
            for(int j=0; j<arr.length-1; j++) { //열
                System.out.print(arr[i][j]+" ");
            }
            System.out.println();
        }   
    }   
}  


1097

package com.algo.controller;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;

public class Code{
    public static void main(String[] argsthrows IOException{
        
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        try {
        String[][] arr = new String[19][19];
        
        //바둑알이 깔려있는 상황 19*19를 입력받는다
        for(int i=0; i<arr.length; i++) {
            //String 배열에 " "을 기준으로 하나씩 잘라서 모두 담는다
            String[] ar1 = br.readLine().split(" ");
            for(int j=0; j<arr.length; j++) {
                //[행][열] 잘라진 숫자들을 열인 [j]기준으로 모두 담는다
                arr[i][j] = ar1[j];
            }
        }
        
        //십자 뒤깁기 횟수(n)을 입력받는다 
        int n = Integer.parseInt(br.readLine());  
        
        ArrayList<Stringlist = new ArrayList();
        
        //십자 뒤깁지 좌표가 횟수(n)만큼 입력된다
        for (int i = 0; i < n; i++) {
            list.add(br.readLine());
            //list에 [10 10, 12 12] 저장
        }
        System.out.println(list);
        
        for (int i = 0; i < list.size(); i++) {
            
            //String 배열에 " "을 기준으로 좌표를 잘라서 저장한다
            String[] point = list.get(i).split(" ");
            
            int x = Integer.parseInt(point[0]);
            int y = Integer.parseInt(point[1]);
            
            for (int j = 0; j < 19; j++) {
                if(arr[x-1][j] == "0"){ //x가 0이면
                    arr[x-1][j] = 1 + ""//1을 넣어준다
                }else{
                    arr[x-1][j] = 0 + ""//아니면 0을 넣어준다
                }
            }
            for (int j = 0; j < 19; j++) {
                if(arr[j][y-1] == "0"){ //y가 0이면
                    arr[j][y-1] = 1 + ""//1을 넣어준다
                }else{
                    arr[j][y-1] = 0 + ""//아니면 0을 넣어준다
                }
            }
        }
        
        //전체 출력 for문
        for (int i = 0; i <arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }
        
        
        }catch(NumberFormatException e) {
            e.printStackTrace();
        }
    }   


1098

package com.algo.controller;

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

public class Code{
    public static void main(String[] argsthrows IOException {
        
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        try {
            //가로 세로 길이를 입력받는다
            String[] hw = br.readLine().split(" ");
            //height=5 / width=5
            int height = Integer.parseInt(hw[0]);
            int width = Integer.parseInt(hw[1]);
            
            //입력값의 정의역
            if (height > 0 && height <= 100 &&
                    width > 0 && width <= 100) {
                
                //[5][5] 크기의 배열을 만든다
                String[][] arr = new String[height][width];
                
                //막대의 개수를 입력받는다.
                int n = Integer.parseInt(br.readLine());
                
                if (n >= 1 && n <=10) {
                    
                    for (int i = 0; i < n; i++) {
                        //막대의 정보를 String배열에 입력받는다
                        //막대의길이 (length) 방향(d) 0이면 가로로 1이면 세로로
                        //좌표 (x) (y)
                        String[] stick = br.readLine().split(" ");
                        
                        int length = Integer.parseInt(stick[0]);
                        int d = Integer.parseInt(stick[1]);
                        int x = Integer.parseInt(stick[2])-1;
                        int y = Integer.parseInt(stick[3])-1;
                        
                        //2 0 1 1로 예를 들면
                        if (d == 0) { //막대 방향이 가로일때
                            for (int j = y; j < y + length; j++) {
                                //int j=0; j<2; j++
                                if (j < width) {
                                    //[0][0] 과 [0][1]에 1을 넣어준다
                                    arr[x][j] = "1";
                                }                               
                            }
                        //3 1 2 3으로 예를 들면
                        }else//막대 방향이 세로일때
                            for (int j = x; j < x + length; j++) {
                                //int j=1; j<4; j++
                                if (j < height) {
                                    //[1][2],[2][2],[3][2]에 1을 넣어준다
                                    arr[j][y] = "1";
                                }                               
                            }
                        }
                    }
                    
                    //전체 출력 for문
                    for (int i = 0; i < arr.length; i++) {
                        for (int j = 0; j < arr[i].length; j++) {
                            if (arr[i][j] == null) {//위에 해당되는 값이 없어서 null이면
                                arr[i][j] = "0"//0을 넣어준다
                            }
                            System.out.print(arr[i][j] + " ");
                        }
                        System.out.println();
                    }
                }else{
                    System.out.println("1 >= stick num <= 10");
                }
            }else{
                System.out.println("1 >= width & height <= 100");
            }
        } catch (NumberFormatException e) {
            e.printStackTrace();
        }
    }


1099

package com.algo.controller;

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

public class Code{
    public static void main(String[] argsthrows IOException {
        
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        try {
            String[][]arr = new String[10][10];
            //10*10크기의 미로 상자 구조와 먹이 위치를 입력받는다
            for(int i=0; i<arr.length; i++) {
                //String 배열에 입력받는 값을 모두 잘라서 넣는다
                String[] y = br.readLine().split(" ");
                
                 //[행][열] 잘라진 숫자들을 열인 [j]기준으로 모두 담는다
                for(int j=0; j<y.length; j++) {
                    arr[i][j] = y[j];
                }
            }
            
            int flag = 1//벽
            int end = 0//갈수있는곳
            
            for(int i=1; i<arr.length; i++) {
                if(end !=1) { //벽이 아니면
                    
                    for(int j=flag; j<arr[i].length; j++) {
                        if(arr[i][j].equals("0")) {
                            arr[i][j] = "9";
                            
                        }else if(arr[i][j].equals("2")) { //먹이발견하면
                            arr[i][j] = "9";
                            end = 1
                            break//더이상 움직이지 않고 머무른다
                        }else { 
                            flag = j-1;
                            break;
                        }
                    }
                }else {
                    break;
                }
            }
        
            //전체 출력 for문
            for(int i=0; i<arr.length; i++) {
                for(int j=0; j<arr.length; j++) {
                    System.out.print(arr[i][j]+" ");
                }
                System.out.println();
            }
        
        }catch(NumberFormatException e) {
            e.printStackTrace();
        }
            
    }
}   


Comments