본문 바로가기
반응형

tmp 자바2

백준 [10813] 공 바꾸기 -자바 풀이 https://www.acmicpc.net/problem/10813 10813번: 공 바꾸기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 www.acmicpc.net N개의 수를 M번 반복하여 a,b의 수를 교환하는 문제이다. 우선 첫번째 줄에 N과 M을 입력받는다. 그리고 for문을 작성해서 배열 안에 1~N을 넣고 tmp를 사용해서 a와 b의 순서를 바꾸면 된다. if(a!=b) { arr[a] = b; arr[b] = a; } else { arr[a] = a; arr[b] = b; } 처음엔 tmp를 몰라서 이렇게 생각했으나 이러면 a=10, b=20일 때.. 2023. 5. 17.
JAVA 두 변수의 값 바꾸기 tmp int a = 10, int b = 20일 때 두 변수에 담긴 값을 서로 바꾸기 위해서는 어떻게 해야 하는가? tmp를 몰랐을 때 처음 시도했던 것은 if문이다. if (a!=b) { a = b; b = a; } 하지만, 생각해 보면 a = b; 를 실행하면 이미 a의 값은 20이 될 것이고, 그 이후에 b = a; 를 실행되니 20=20 이 실행될 것이다. 그렇다면 어떻게 두 변수의 값을 교환할 수 있을까? tmp라는 임시저장소를 사용하는 것이다. tmp = a; a = b; b = tmp; int a = 10; int b = 20; 으로 가정한다면 //a=10, b=20, tmp=null; a의 값인 10을 왼쪽에 있는 tmp에 저장해 두고, //a=10, b=20, tmp=10; b의 값인 20을 .. 2023. 5. 16.
반응형