본문 바로가기

반응형

전체 글

(42)
백준 [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일 때..
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을 ..
백준 [2562] 최댓값 - 자바 https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 이전에 풀었던 N개가 주어질 때 조건을 구하는 식은 for문을 이용해 arr[]안에 주어진 N개의 수를 넣어 조건에 맞는 수를 arr[]에서 꺼내는 방법으로 해결했다. 이번에는 9개의 서로 다른 수가 주어질 때 최댓값을 찾는 문제이다. 9개의 수를 arr[] 안에 넣고, 그 중에 가장 큰 값을 출력하면 될 것 같다. 거기에 index 라는 매개변수를 만들어 for문..

반응형