수학자가 구를 깎아서 볼록다면체를 만들었다. 이 수학자는 임의의 볼록다면체에 대해 (꼭짓점의 수) - (모서리의 수) + (면의 수) = 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;
 
/**
 * Created by homr on 2017. 7. 4..
 */
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
 
        while(T!=0){
            int V = sc.nextInt();
            int E = sc.nextInt();
 
            System.out.println(2-V+E);
 
            T--;
        }
    }
}
 
cs


저작자 표시
신고

자연수 N이 주어졌을 때, 2의 제곱수면 1을 아니면 0을 출력하는 프로그램을 작성하시오.



풀이


2로 계속 나눠주면서 나머지가 1이 되면 바로 0을 출력하고,

그렇지 않고 나눈값이 1이 될때까지 진행되었다면 2의 제곱수 이므로 1을 출력한다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.Scanner;
 
/**
 * Created by homr on 2017. 7. 3..
 */
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
 
        while(num!=1){
            if(num%2==1){
                System.out.println(0);
                return;
            }
            num /= 2;
        }
 
        System.out.println(1);
    }
}
 
cs


저작자 표시
신고

입력으로 주어지는 문자열에서 연속으로 3개의 문자가 JOI 또는 IOI인 곳이 각각 몇 개 있는지 구하는 프로그램을 작성하시오. 

문자열을 알파벳 대문자로만 이루어져 있다. 예를 들어, 아래와 같이 "JOIOIOI"에는 JOI가 1개, IOI가 2개 있다.


풀이


문자열을 입력받고 3칸 간격으로 배열에 원하는 문자가 있는지 판별한다.

해당되는 값이 있을 때마다 count를 1씩 증가시키고,

최종적으로 출력한 뒤 프로그램을 종료한다.




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import java.util.Scanner;
 
/**
 * Created by homr on 2017. 7. 3..
 */
public class Main {
    public static void main(String[] arg){
        Scanner sc = new Scanner(System.in);
        String[] str = sc.next().split("");
        int[] count = new int[2];
 
        for(int i=0; i<str.length-2; i++){
            if(str[i].equals("J")&&str[i+1].equals("O")&&str[i+2].equals("I")){
                count[0]++;
            }else if(str[i].equals("I")&&str[i+1].equals("O")&&str[i+2].equals("I")){
                count[1]++;
            }
        }
 
 
        System.out.println(count[0]);
        System.out.println(count[1]);
    }
}
 
cs


저작자 표시
신고

+ Recent posts

티스토리 툴바