일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 자료구조
- 안드로이드 파일
- 안드로이드 DBMS
- 너비우선탐색
- application not responding
- support fragment
- BFS
- 안드로이드
- db
- 안드로이드 ANR
- oracle
- 자바 컬렉션
- 컬렉션
- Github
- android adapterview
- java
- android support
- 알고리즘
- 액티비티 ANR
- android fragment
- anr
- 안드로이드 AdapterView
- DFS
- 백준
- support 라이브러리
- 백준 알고리즘
- 소수
- 깊이우선탐색
- SQLite와 Realm 차이점
- 소수 알고리즘
Archives
- Today
- Total
밍의 기록들😉
[문제] 부등호 2529번 본문
문제
https://www.acmicpc.net/problem/2529
소스코드
import java.util.Scanner; public class Inequel2 { private static int n; private static String[] op; private static int[] a = new int[10]; private static boolean[] check = new boolean[10]; public static void main(String[] args) { Scanner sc = new Scanner(System.in); n = sc.nextInt(); op = sc.nextLine().split(" "); descCompare(0, 9); print(); check = new boolean[10]; ascCompare(0, 0); print(); } private static void descCompare(int idx, int x) { if(idx >= n+1) return; for(int i=9; i>=9-n; i--){ if(check[i] == false){ if(idx != 0){ if(op[idx-1].equals("<") && a[idx-1]>i){ check[x] = false; return; } } a[idx] = i; check[i] = true; descCompare(idx+1, i); } } } private static void ascCompare(int idx, int x) { if(idx >= n+1) return; for(int i=0; i<=n; i++){ if(check[i] == false){ if(idx != 0){ if(op[idx-1].equals(">") && a[idx-1]<i){ check[x] = false; return; } } a[idx] = i; check[i] = true; ascCompare(idx+1, i); } } } private static void print() { for(int i=0; i<=n; i++){ System.out.print(a[i]); } System.out.println(); } }
풀이
-
'자료구조, 알고리즘 > 문제풀이' 카테고리의 다른 글
[문제] 미로찾기 (0) | 2018.09.14 |
---|---|
[문제] 깊이우선탐색과 너비우선탐색 (0) | 2018.09.09 |
[문제] 웜바이러스 2606번 (0) | 2018.09.05 |
[문제] 이진 패턴 (0) | 2018.09.04 |
[문제] 자연수의 분할 (4) | 2018.09.04 |
Comments