기타
알고리즘 문제연습3
현호s
2020. 10. 1. 08:57
반응형
# 알고리즘 문제연습3
# 비트단위 연산자
- ~ (bitwise not) : 값 반전
- & (bitwise and) : AND, 두 개의 값을 비교 시 두 값이 모두 참이면 참(1), 하나라도 다르면 거짓(0)
- | (bitwise or) : OR, 두 개의 값을 비교 시 하나라도 참이면 참(1), 둘다 거짓이면 거짓(0)
- ^ (bitwise xor) : XOR, 두개의 값을 비교 시 두 값이 다르면 참(1), 같으면 거짓(0)
- << (bitwise left shift)
- >> (bitwise right shift)
## 입력된 정수 비트단위로 NOT하여 출력 ( ~ )
- 입력된 정수를 비트단위로 NOT 하여 출력하기
- 비트연산의 NOT(반전)은 '~'을 사용.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
int temp = ~num;
System.out.println(temp);
}
}
## 입력된 정수 비트단위로 AND하여 출력 ( & )
- 입력된 두개의 정수를 비트단위로 AND하여 출력하기
- 비트연산의 '&'을 사용.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num1 = scanner.nextInt();
int num2 = scanner.nextInt();
System.out.println(num1 & num2);
}
}
## 입력된 두개의 정수를 비트단위로 OR하여 출력 ( | )
- 입력된 두개의 정수를 비트단위로 OR하여 출력하기
- 비트연산의 '|'을 사용.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num1 = scanner.nextInt();
int num2 = scanner.nextInt();
System.out.println(num1 | num2);
}
}
## 입력된 두개의 정수를 비트단위로 XOR하여 출력 ( ^ )
- 입력된 두개의 정수를 비트단위로 XOR하여 출력하기
- 비트연산의 '^'을 사용.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num1 = scanner.nextInt();
int num2 = scanner.nextInt();
System.out.println(num1 ^ num2);
}
}
# switch문
- switch( ) ... case... break; 제어문을 사용할 수 있다.
- switch( ) 에 주어지는 값은 “정수"값만 가능하며, 문자도 아스키코드 정수값이기 때문에 가능하다.
- break; 를 사용하지 않으면 이후의 명령들도 계속 실행된다.
- default 는 제시된 case 를 제외한 나머지 모든 경우에 실행된다.
## 평가 입력받아 다르게 출력하기 ( switch )
- 평가 입력받아 다르게 출력하기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
switch(str) {
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?");
}
}
}
## 0 입력될때까지 출력하기
- 0이 입력될때까지 출력하기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num;
while (true) {
num = scanner.nextInt();
if ( num != 0 ) {
System.out.println(num);
} else {
break;
}
}
}
}
## 정수 입력받아 계속 출력하기
- 정수 입력받아 계속 출력하기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
int[] arr = new int[num];
int temp;
for ( int i = 0; i < arr.length; i++ ) {
temp = scanner.nextInt();
arr[i] = temp;
}
for ( int i = 0; i < arr.length; i++ ) {
System.out.println(arr[i]);
}
}
}
## 정수 1개 입력받아 카운트다운 출력하기1
- 정수 1개 입력받아 카운트다운 출력하기1
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
for ( int i = num; i >= 1; i-- ) {
System.out.println(i);
}
}
}
## 정수 1개 입력받아 카운트다운 출력하기2
- 정수 1개 입력받아 카운트다운 출력하기2
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
for ( int i = num-1; i >= 0; i-- ) {
System.out.println(i);
}
}
}
## 문자 입력받아 알파뱃 출력하기 ( charAt )
- 문자 입력받아 알파뱃 출력하기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
char temp = str.charAt(0);
for ( char i = 'a'; i <= temp; i++ ) {
System.out.println(i);
}
}
}
## 짝수 합 구하기
- 입력된 정수까지의 숫자 중 짝수의 합 구하기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
int sum = 0;
for ( int i = 1; i <= num; i++ ) {
if ( i % 2 == 0 ) {
sum += i;
}
}
System.out.println(sum);
}
}
## 원하는 문자 입력될때까지 반복 출력하기
- 원하는 문자 입력될때까지 반복 출력하기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str;
char temp;
while ( true ) {
str = scanner.next();
temp = str.charAt(0);
if ( temp != 'q' ) {
System.out.println(temp);
} else if ( temp == 'q' ) {
System.out.println(temp);
break;
}
}
}
}
반응형