20151018


*이문제는 Scanner 와 System.out.println() 출력문을 알고 있어야 합니다.
*이문제는 dovelet 에 있는 알고리즘 문제입니다.




두수의 교환/swap



프로그램 명: swap

제한시간: 1 초

두 정수를 입력으로 받아 수를 교환하는 프로그램을 작성하시오.

입력

두 정수가 입력으로 주어진다.

출력

두 정수를 바꾸어서 출력한다.

입출력 예

입력

10 20

출력

20 10

입력

5 1

출력

1 5



문제 풀이



import java.util.Scanner;
import java.io.PrintStream;

public class Main {
 
	public static void main(String[] args) {

		int a, b, c;
		Scanner sc = new Scanner(System.in);
		PrintStream p = System.out;
		a = sc.nextInt();
		b = sc.nextInt();
		c = a;
		a = b;
		b = c;
		
		p.println(a + " " + b);
	}
}


우선 자연수 2개를 입력 받고 2개의 값을 바꿔야 하기 때문에 임시 변수 c 를 하나 더 선언 해 줍니다. (정수 값으로 하기 위해서 int 를 사용 했습니다.)
그리고 값을 직접 입력 받아야 하기 때문에 Scanner 객체를 만들고 정수형 값을 입력 받는 NextInt(); 를 사용해서 변수에  분 값을 입력 받습니다.

변수 특성상 새로운 값이 들어오면 그전 값은 사라집니다. 덮어 씌우기 형식이죠
그래서 사용하지 않는 변수에 입력값 하나를 저장시키고 c = a;  b 의 값을 a 에 저장 합니다. 그 다음 a 값을 가지고 있는 c 의 값을 a에 저장 합니다. a = c; 그럼 a 와 b 의 값이 안정적으로 바뀌게 됩니다.

* 이부분 잘 이해하셔야해요 정렬부분에서 많이 사용 됩니다. 종이에 적어서 이해하면 더 빨라요. 그다음 바뀐 부분을 출력 해주면 됩니다.







+ Recent posts