-
[백준 알고리즘/Java] 10811번 바구니 뒤집기IT Study/백준 알고리즘 2023. 3. 14. 14:31728x90
10811번 '공 바꾸기'는 for문과 tmp(temp, 임시 값 저장 변수)를 사용하여 비교적 수월하게 풀이할 수 있었습니다.
그러나 역순으로 출력하는 문제는 for문을 사용하되, 몇 번을 변경해야 할지... 도통 감이 오지 않았습니다.
그러다 Jaeho Kim님의 블로그에서.. while문을 사용하여 역순으로 출력하는 것을 보았고... 감탄을 금치 못했습니다..
(저는 왜 while문 사용할 생각을 못했을까요...)
Jaeho Kim님은 Scanner와 System.out.print()를 사용하여 소스코드를 작성하셨으니 참고하실 분은
글 하단 링크를 확인해 주세요..!
저는 지난 포스트인 [백준 알고리즘/Java] 15552번 빠른 A+B를 통해
[백준 알고리즘/Java] 15552번 빠른 A+B
사용자에게 입력받는 함수로는 Scanner만 알고 있었기 때문에 처음엔 1000번 'A+B'와 동일하게 작성하게 제출했습니다. import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scann
1-three.tistory.com
BufferedReader - BufferedWriter 사용하는 방법을 알았기 때문에 이를 활용하여 소스코드를 작성해 보았습니다..!
<최종 제출본>
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st; st = new StringTokenizer(br.readLine(), " "); int n = Integer.parseInt(st.nextToken()); int m = Integer.parseInt(st.nextToken()); int arr[] = new int[n+1]; int i, j; for(int p = 1; p <= n; p++) { arr[p] = p; } for(int p = 1; p <= m; p++) { st = new StringTokenizer(br.readLine(), " "); i = Integer.parseInt(st.nextToken()); j = Integer.parseInt(st.nextToken()); while(i < j) { // while과 증감연산자를 통해 역순 출력 int temp = arr[i]; arr[i++] = arr[j]; arr[j--] = temp; } } for(int p = 1; p <= n; p++) { bw.write(arr[p] + " "); } br.close(); bw.flush(); bw.close(); } }
더 많은 문제들을 풀어보며, 증감연산자(++. --)의 사용에 익숙해져야겠습니다.
홧팅!!!
참고(도움을 아주 많이 받은) 사이트 :
Jaeho Kim, https://velog.io/@chamominedev/%EB%B0%B1%EC%A4%80-Baekjoon-10811%EB%B2%88-%EB%B0%94%EA%B5%AC%EB%8B%88-%EB%92%A4%EC%A7%91%EA%B8%B0-JAVA'IT Study > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘/JavaScript] 1000번 A + B (Feat. 입력받기) (0) 2023.12.14 [백준 알고리즘] 첫 사용법 (초기 컴파일 오류, 언어 설정하기) (0) 2023.03.20 [백준 알고리즘/Java] 2439번 별 찍기 - 2 (0) 2023.03.14 [백준 알고리즘/Java] 15552번 빠른 A+B (0) 2023.03.13 [백준 알고리즘/Java] 2480번 주사위 세개 (0) 2023.03.13