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 의 값이 안정적으로 바뀌게 됩니다.
* 이부분 잘 이해하셔야해요 정렬부분에서 많이 사용 됩니다. 종이에 적어서 이해하면 더 빨라요. 그다음 바뀐 부분을 출력 해주면 됩니다.
'알고리즘(dovelet 문제풀이) > 1층' 카테고리의 다른 글
네 수의 평균/average(네 수의 평균 구하기 알고리즘) (0) | 2015.10.19 |
---|---|
삼각형 넓이 구하기/triangle (삼각형 넓이 구하기 알고리즘) (0) | 2015.10.19 |
기본 연산/op (기본 연산/op 알고리즘) (0) | 2015.10.18 |
분을 초로 변환/m2s(분을 초로 알고리즘) (0) | 2015.10.18 |
사각형 넓이 구하기/area(사각형 넓이 알고리즘) (0) | 2015.10.18 |