
www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 풀이 1) 값을 최소로 만들려면 - 가 나온 이후로 최대한 값을 더해야 함. 2) 입력값을 받을때 StringTokenizer => - 를 구분자로 쪼갠다. 3) 맨 앞 토큰은 StringTokenizer => + 를 구분자로 쪼개서 answer에 다 더해준다. 4) 그 뒤의 토큰들은 StringTokenizer => + 를 구분자로 쪼개서 다 더한 값을 answer에서 빼준다. 5) 출력 주의사항 1) ..

www.acmicpc.net/problem/1405 1405번: 미친 로봇 첫째 줄에 N, 동쪽으로 이동할 확률, 서쪽으로 이동할 확률, 남쪽으로 이동할 확률, 북쪽으로 이동할 확률이 주어진다. N은 14보다 작거나 같은 자연수이고, 모든 확률은 100보다 작거나 같은 자 www.acmicpc.net 풀이 1) 단순한 경로 => 방문한 곳 재방문 x => isVisited[][] 배열만 잘 쓰면 장땡 2) N은 14보다 작거나 같은 자연수 이므로 map[][]의 크기는 그 2배인 28보다 크면 된다. 나는 30으로 했다 3) bfs의 스타트 지점은 상, 하, 좌, 우 로 14칸 가도 밖으로 안나갈 곳에서 시작한다. 나는 15, 15로 했다 4) 각 방향의 확률을 배열에 저장해 둔다. 5) 4방 탐색 bf..

www.acmicpc.net/problem/3055 3055번: 탈출 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제 www.acmicpc.net 풀이 1) Queue를 2개 만들거임. 하나는 고슴도치, 하나는 물 2) 입력값을 받으면서 고슴도치가 나오면 queue에, 물이 나오면 queue2에 담는다. 동굴의 위치도 따로 저장한다. 3) bfs를 돌린다. 3-1) 고슴도치의 이동보다 물이 차는게 먼저다. 먼저 물을 채운다. (같은 너비를 다 채운후에 물을 채워야 한다) 3-2) 고슴도치의 이동경로를 queue에 담는다. 3-3) 동굴에 고슴도치가 도달하면 횟수(시간..

www.acmicpc.net/problem/1963 1963번: 소수 경로 소수를 유난히도 좋아하는 창영이는 게임 아이디 비밀번호를 4자리 ‘소수’로 정해놓았다. 어느 날 창영이는 친한 친구와 대화를 나누었는데: “이제 슬슬 비번 바꿀 때도 됐잖아” “응 지금 www.acmicpc.net 풀이 1) 에라토스테네스의 체를 이용하여 1~9999 까지의 소수를 판별한 prime[] 을 만든다. 2) 입력받은 숫자A를 파라미터로 넣고 bfs를 돌린다. Queue의 제너릭 Node에는 숫자와 횟수를 담는다. 2-1) 숫자A를 StringBuilder에 담는다. (한 자리씩 치환하는것을 쉽게하기 위함) 2-2) 4자리이므로 4개만큼 for문을 돌리는데 숫자는 0~9까지이므로 10개만큼 for문을 또 돈다. 2-3)..

www.acmicpc.net/problem/2456 2456번: 나는 학급회장이다 첫째 줄에는 반의 학생들의 수 N (3 ≤ N ≤ 1,000)이 주어진다. 다음 N개의 각 줄에는 각 학생이 제출한 회장후보 3명에 대한 선호 점수가 주어지는 데, 첫 번째 점수는 후보 1번에 대한 점수이고 두 www.acmicpc.net 풀이 1) Candidate 클래스를 정의한다. 멤버는 후보자 번호, 3점 개수, 2점 개수, 1점 개수, 총 점수 이다. 1-1) Candidate 클래스에 Comparable 인터페이스로 정렬 우선 순위를 정한다. 총점 > 3점 > 2점 2) 입력값을 리스트에 잘 저장한다. 3) Collections.sort 로 리스트를 정렬하여 가장 우선순위가 높은 후보의 번호와 최고 점수를 출력한..

www.acmicpc.net/problem/13975 13975번: 파일 합치기 3 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T개의 테스트 데이터로 이루어져 있는데, T는 입력의 맨 첫 줄에 주어진다.각 테스트 데이터는 두 개의 행으로 주어지는데, www.acmicpc.net 풀이 1) PriorityQueue에 입력값을 넣는다. 2) 제일 작은 수 + 2번째로 작은수 의 값을 결과값에 더하고 pq에추가한다. 3) 2개씩 빼고 1개씩 넣으므로 언젠가는 0개가 된다. 그때의 결과값을 output에 추가한다. 4) 출력 주의사항 1) int 로 안됨 package com.baekJoon; import java.io.BufferedReader; import java.io.Buffere..

www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 풀이 1) 원본 배열, 정렬된 배열을 생성 2) 정렬된 배열 탐색. 한번도 들어오지 않은 값이면 맵에 넣는다 value는 넣을때마다 1씩 증가 3) 원본 배열 탐색. 맵으로 BufferedWriter에 담음 4) 출력 주의사항 1) x package com.baekJoon; import java.io.BufferedReader; import java.io.Buf..

www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 풀이 1) 2차원 배열을 4개를 쓴다. 원본, 연합, 바꾼값, 방문체크 2) 2중 포문을 돌며 bfs를 도는것을 반복한다. 2-1) 연합끼리 분류한다. 2-2) 같은 연합이면 전부 평균값으로 바꾼다. 2-3) 원본과 비교한다. 2-4) 원본과 같으면 더이상 바꿀수 없는거임. while문을 탈출한다. 3) 2번을 2000번 돌린다. 4) 반복횟수를 출력한다. 주의사항 1) 없다 package com..
- Total
- Today
- Yesterday
- react
- S3
- 리액트
- 그리디
- G5
- react native
- 리액트 네이티브
- 객체지향
- 현꾸라지
- 백준
- 알고리즘
- 시뮬레이션
- Spring
- 문자열
- 다익스트라
- DFS
- BFS
- 우선순위큐
- 자바
- map
- 코딩새내기
- Spring Boot
- laugh4mile
- 백트래킹
- PriorityQueue
- S2
- 구현
- SWEA
- g4
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |