본문으로 바로가기
728x90

 

#1041

 

 

문제 설명   

영문자 1개를 입력받아 그 다음 문자를 출력해보자.

영문자 'A'의 다음 문자는 'B'이고, 영문자 '0'의 다음 문자는 '1'이다.

참고
숫자는 수를 표현하는 문자로서 '0' 은 문자 그 자체를 의미하고, 0은 값을 의미한다.

힌트
아스키문자표에서 'A'는 10진수 65로 저장되고 'B'는 10진수 66으로 저장된다.
따라서 문자도 값으로 덧셈을 할 수 있다.

입력

영문자 1개가 입력된다.


출력

다음 문자를 출력한다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.Scanner;
 
public class Main{
    
    public static void main(String[] args) {
        
        Scanner sc=new Scanner(System.in);
        
        char a=sc.nextLine().charAt(0);
                    
        System.out.println((char)(a+1));
        
    }
    
}
 

 

 

 

#1042

 

 

문제 설명   

정수 2개(a, b) 를 입력받아 a를 b로 나눈 몫을 출력해보자.
단, -2147483648 <= a <= b <= +2147483647, b는 0이 아니다.

참고
C언어에서 정수/정수 연산의 결과는 정수(몫)로 계산된다.
실수/정수, 정수/실수, (float)정수/정수, 정수/(float)정수 등의 연산 결과는 실수 값으로 계산된다.

(float)(정수/정수)는 정수/정수의 결과인 정수 값을 실수형(float)로 바꾸는 것으로,
계산 결과인 정수 값이 실수 형태로 변환되는 것이니 주의해야 한다.

정수/실수 계산결과가 자동으로 실수형으로 바뀌는 것을 묵시적 (데이터)형변환이라고 하고,
어떤 값이나 결과의 데이터형을 강제로 바꾸는 것을 명시적 (데이터)형변환이라고 한다.

int a;
scanf("%d", &a);
printf("%f", (float)a);

와 같이 실행하면, 정수로 저장되어 있는 값을 실수형(float)으로 명시적으로 변환하여 출력한다.


입력

정수 2개(a, b)가 공백을 두고 입력된다.
단, -2147483648 <= a <= b <= +2147483647


출력

a를 b로 나눈 몫을 출력한다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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 n=a/b;
        
        System.out.println(n);
        
    }
    
}
 

 

 

 

#1043

 

 

문제 설명   

정수 2개(a, b) 를 입력받아 a를 b로 나눈 나머지를 출력해보자.
단, 0 <= a, b <= +2147483647, b는 0이 아니다.

참고
C언어에서 정수%정수 연산의 결과는 나눈 나머지로 계산된다.

% 연산자(modulus, mod 연산) 수학자 가우스가 생각해낸 연산으로,
어떤 정수를 다른 정수로 나누고 난 후 남는 나머지를 계산하는 연산이다.

단, 음(-)이 아닌 정수에 대해서만 연산된다.


입력

정수 2개(a, b)가 공백을 두고 입력된다.
단, 0 <= a, b <= +2147483647, b는 0이 아니다.

출력

a 를 b로 나눈 나머지를 출력한다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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 n=a%b;
        
        System.out.println(n);
        
    }
    
}
 

 

#1044

 

 

문제 설명   

정수를 1개 입력받아 1만큼 더해 출력해보자.
단, -2147483648 ~ +2147483647 의 범위로 입력된다.

주의
계산되고 난 후의 값의 범위(데이터형)에 주의한다.

참고
어떤 변수(a)에 값을 저장한 후 a+1 의 값을 출력할 수도 있고,
++a 연산을 한 후에 출력할 수도 있다.

++a, --a, a++, a-- 와 같이 어떤 변수의 앞이나 뒤에 붙여
변수에 저장되어있는 값을 1만큼 더하거나 빼주는 연산자를 증감연산자라고 한다.

증감연산자를 변수 앞에 붙이면 그 변수를 사용하기 전에 증감을 먼저 수행하고,
증감연산자를 변수 뒤에 붙이면 일단 변수에 저장되어있는 값을 먼저 사용하고 난 후
나중에 증감을 수행한다.

입력

정수 1개가 입력된다.
단, -2147483648 ~ +2147483647 의 범위로 입력된다.


출력

입력된 정수에 1을 더해 출력한다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.Scanner;
 
public class Main{
    
    public static void main(String[] args) {
        
        Scanner sc=new Scanner(System.in);
        
        long a=sc.nextLong();
                        
        System.out.println(a+1);
        
    }
    
}
 
 

 

 

 

#1045

 

 

문제 설명  

정수 2개(a, b)를 입력받아 합, 차, 곱, 몫, 나머지, 나눈 값을 자동으로 계산해보자.
단 0 <= a, b <= 2147483647, b는 0이 아니다.

입력

정수 2개가 공백을 두고 입력된다.


출력

첫 줄에 합
둘째 줄에 차,
셋째 줄에 곱,
넷째 줄에 몫,
다섯째 줄에 나머지,
여섯째 줄에 나눈 값을 순서대로 출력한다.
(실수, 소수점 이하 셋째 자리에서 반올림해 둘째 자리까지 출력)

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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();
                        
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/b);
        System.out.println(a%b);
        System.out.println((String.format("%.2f",(float)a/b)));
        
    }
    
}
 
 

 

 

 

#1046

 

 

문제 설명   

정수 3개를 입력받아 합과 평균을 출력해보자.
단, -2147483648 ~ +2147483647

입력

정수 3개가 공백을 두고 입력된다.
단, -2147483648 ~ +2147483647


출력

합과 평균을 줄을 바꿔 출력한다.
평균은 소수점 이하 둘째 자리에서 반올림해서 소수점 이하 첫째 자리까지 출력한다.

 

* 만약 여기서

평균을 구할 때 float n=(a+b+c)/3;

와 같이 계산하게 된다면 int끼리의 연산이므로 10,3,96과 같은 경우 36.3이 아닌 36.0이 나온다.

할거면 float n=(float)(a+b+c)/3;와 같이 형변환을 해주어야 한다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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();
    
        float n=(float)(a+b+c)/3;
        
        System.out.println(a+b+c);
        System.out.println(String.format("%.1f", n));
        
    }
    
}
 
 

 

 

 

#1047

 

 

문제 설명

정수 1개를 입력받아 2배 곱해 출력해보자.

참고
*2 의 값을 출력해도 되지만,
정수를 2배로 곱하거나 나누어 계산해 주는 비트단위시프트연산자 <<, >>를 이용한다.

2진수 형태로 저장되어 있는 값들을 왼쪽(<<)이나 오른쪽(>>)으로
지정한 비트 수만큼 밀어주면 2배씩 늘어나거나 반으로 줄어드는데,

왼쪽 비트시프트(<<)가 될 때에는 오른쪽에 0이 주어진 개수만큼 추가되고,

오른쪽 비트시프트(>>)가 될 때에는
왼쪽에 0(0 또는 양의 정수인 경우)이나 1(음의 정수인 경우)이 개수만큼 추가된다.

범위(32비트)를 넘어서 이동되는 비트는 삭제된다.

예시
int a=10;
printf("%d", a<<1); //10을 2배 한 값인 20 이 출력된다.
printf("%d", a>>1); //10을 반으로 나눈 값인 5 가 출력된다.
printf("%d", a<<2); //10을 4배 한 값인 40 이 출력된다.
printf("%d", a>>2); //10을 반으로 나눈 후 다시 반으로 나눈 값인 2 가 출력된다.

입력

정수 한 개가 입력된다.
단, -1073741824 ~ +1073741823


출력

2배 곱한 정수를 출력한다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.Scanner;
 
public class Main{
    
    public static void main(String[] args) {
        
        Scanner sc=new Scanner(System.in);
        
        int a=sc.nextInt();
        
        System.out.println(a<<1);
        
    }
    
}
 
 

 

 

 

#1048

 

 

문제 설명  

정수 2개(a, b)를 입력받아 a를 2의 b배 곱한 값으로 출력해보자.
0 <= a <= 10, 0 <= b <= 10


참고
예를 들어 1 3 이 입력되면 1을 2의 3(8)배 하여 출력한다.

예시
int a=1, b=10;
printf("%d", a << b); //210 = 1024 가 출력된다.

입력

정수 2개가 공백을 두고 입력된다.
0 <= a, b <= 10


출력

a 를 2의 b배 만큼 곱한 값을 출력한다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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();
        
        System.out.println(a<<b);
        
    }
    
}
 

 

 

 

#1049

 

 

문제 설명

두 정수(a, b)를 입력받아

a가 b보다 크면 1을, a가 b보다 작거나 같으면 0을 출력하는 프로그램을 작성해보자.


참고
어떤 값을 비교하기 위해 비교/관계연산자(comparison/relational)를 사용할 수 있다.

비교/관계연산자 > 는
왼쪽의 값이 오른쪽 값 보다 큰 경우 참(true)을 나타내는 정수값 1로 계산하고,
그 외의 경우에는 거짓(false)를 나타내는 정수값 0으로 계산한다.

비교/관계연산자도 일반적인 사칙연산자처럼 주어진 두 수를 이용해 계산을 수행하고,
그 결과를 1(참), 또는 0(거짓)으로 계산해 주는 연산자이다.

비교/관계연산자는 >, <, >=, <=, ==(같다), !=(다르다) 6개가 있다.

예시
printf("%d", 123<456); //비교 연산자 < 의 계산 결과인 1(참)이 출력된다.

입력

두 정수 a, b가 공백을 두고 입력된다.
-2147483648 <= a, b <= +2147483647


출력

a가 b보다 큰 경우 1을, 그렇지 않은 경우 0을 출력한다.

 

 

*참고

단순히 비교연산자를 통해 출력시 true, false 형태로 출력된다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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();
        
        if(a>b)
            System.out.println(1);
        else
            System.out.println(0);
        
    }
    
}
 
 

 

 

 

#1050

 

 

문제 설명

두 정수(a, b)를 입력받아
a와 b가 같으면 1을, 같지 않으면 0을 출력하는 프로그램을 작성해보자.


참고
어떤 값을 비교하기 위해 비교/관계연산자(comparison/relational)를 사용할 수 있다.

비교/관계연산자 == 는
두 개의 값이 같은 경우 참(true)을 나타내는 정수값 1로 계산하고,
다른 경우 거짓(false)를 나타내는 정수값 0으로 계산한다.

비교/관계연산자도 일반적인 사칙연산자처럼 주어진 두 수를 이용해 계산을 수행하고,
그 결과를 1(참), 또는 0(거짓)으로 계산해 주는 연산자이다.

비교/관계연산자는 >, <, >=, <=, ==(같다), !=(다르다) 6개가 있다.

** 수학에서 왼쪽과 오른쪽의 계산 결과가 같음(동치)을 나타내는 기호 = 는
C언어에서 전혀 다른 의미로 사용된다.

a=1 와 같은 표현은 a와 1의 값이 같다는 의미가 아니라
오른쪽의 계산 결과인 1을 왼쪽의 변수 a에 저장하라는 의미이다.

입력

두 정수 a, b가 공백을 두고 입력된다.
-2147483648 <= a, b <= +2147483647


출력

a와 b의 값이 같은 경우 1을, 그렇지 않은 경우 0을 출력한다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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();
        
        if(a==b)
            System.out.println(1);
        else
            System.out.println(0);
        
    }
    
}
 
 

 

 

728x90