분류 전체보기81 [codeforces][Kotlin] 1367B - Even Array 목차 문제 정보 난이도 : B 유형 : implementation 시간 : O(t * N) 문제 풀이 현재 인덱스와 입력값이 서로 짝수 혹은 홀수가 아닐 경우에만 입력값이 홀수인지 짝수인지 카운팅 해주면 된다. 코드 import java.io.BufferedReader import java.io.InputStreamReader import java.util.StringTokenizer fun solution() = with(BufferedReader(InputStreamReader(System.`in`))) { var sb = StringBuilder() var st: StringTokenizer var t = readLine().toInt() while (t-- > 0) { var n = readLin.. Algorithm, Problem Solving/codeforces 2023. 3. 30. [백준][Java] 2230 - 수 고르기 목차 문제 정보 https://www.acmicpc.net/problem/2230 2230번: 수 고르기 N개의 정수로 이루어진 수열 A[1], A[2], …, A[N]이 있다. 이 수열에서 두 수를 골랐을 때(같은 수일 수도 있다), 그 차이가 M 이상이면서 제일 작은 경우를 구하는 프로그램을 작성하시오. 예를 들어 www.acmicpc.net 난이도 : G5 유형 : 투포인터, 이분탐색 시간 : O(NlogN) 문제 풀이 투포인터와 이분탐색을 같이 사용하여 풀이를 했다. 투포인터는 왼쪽, 오른쪽 포인터를 이용하는 개념이다. 왼쪽 포인터는 순차적으로 수열의 인덱스로 사용하였고 오른쪽 포인터는 이분탐색으로 얻은 인덱스로 사용하였다. 주의할 점은 이분탐색을 하기 전에는 미리 정렬을 해주어야 한다. 코드 i.. Algorithm, Problem Solving/백준(boj) 2023. 3. 30. [Gradle] MacBook에 gradle 간단 설치하기 기기 : MacBook Pro M1 사용 툴 : Homebrew 1. 문제 상황 gradle: command not found 이와 같은 문구가 터미널에 뜨면 1. gradle이 설치되지 않은 경우 2. PATH에 등록되지 않은 경우 => 패키지 관리자인 Homebrew를 이용하여 설치하면 위의 2가지가 해결된다. 2. 설치 유무 확인 gradle -v gradle --version 둘 중 하나를 입력해 보면 위의 터미널처럼 뜨지 않으면 설치되어 있지 않은 경우이다. 3. 설치하기 Homebrew를 이용하여 쉽게 설치할 수 있고 관리할 수 있다. brew install gradle 4. 설치된 버전 확인 brew info gradle 오른쪽에 *가 붙은 버전이 설치된 버전이다. Gradle 2023. 3. 29. [codeforces][Kotlin] 1475A - Odd Divisor 목차 문제 정보 https://codeforces.com/problemset/problem/1475/A Problem - 1475A - Codeforces codeforces.com 난이도 : A 유형 : Math 문제 풀이 주어진 숫자가 짝수일 경우 2로 계속 나누어서 홀수로 만든 다음 결괏값이 3 이상인 홀수이면 정답이다. 코드 import java.io.BufferedReader import java.io.InputStreamReader fun solution() = with(BufferedReader(InputStreamReader(System.`in`))) { var sb = StringBuilder() var t = readLine().toInt() while (t-- > 0) { var in.. Algorithm, Problem Solving/codeforces 2023. 3. 29. [백준][Java] 12904 - A와 B 목차 문제 정보 https://www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 난이도 : G5 유형 : 그리디, 문자열 문제 풀이 문자열을 변환하는 방법은 2가지밖에 없다 1. 마지막에 A를 추가 2. 거꾸로 만든 후 B를 추가 S문자열에 1, 2번 연산을 어떻게 처리해도 결국 마지막에 A 혹은 B만 올 수 있다. 그럼 T 문자열을 기준으로 보자 1. T의 문자열 마지막이 A이면 1번 연산이 진행된 것이고 2. T의 문.. Algorithm, Problem Solving/백준(boj) 2023. 3. 29. [codeforces][Kotlin] 703A - Mishka and Game 목차 문제 정보 https://codeforces.com/problemset/problem/703/A Problem - 703A - Codeforces codeforces.com 난이도 : A 유형 : implementation 시간 : O(n) 문제 풀이 승리가 많은 사람을 출력 코드 import java.io.BufferedReader import java.io.InputStreamReader import java.util.StringTokenizer fun solution() = with(BufferedReader(InputStreamReader(System.`in`))) { var mCnt = 0 var cCnt = 0 var n = readLine().toInt() for (i in 0 unti.. Algorithm, Problem Solving/codeforces 2023. 3. 28. [백준][Java] 2212 - 센서 목차 문제 정보 https://www.acmicpc.net/problem/2212 2212번: 센서 첫째 줄에 센서의 개수 N(1 ≤ N ≤ 10,000), 둘째 줄에 집중국의 개수 K(1 ≤ K ≤ 1000)가 주어진다. 셋째 줄에는 N개의 센서의 좌표가 한 개의 정수로 N개 주어진다. 각 좌표 사이에는 빈 칸이 하나 있 www.acmicpc.net 난이도 : G5 유형 : 정렬, 그리디 시간 : O(N + NlogN) 문제 풀이 거리를 최소로 만들려면 직관적으로 K만큼 기지국을 설치하면 된다는 것을 알 수 있다. 또한 이문제를 쉽게 이해하기 위해 센서를 K개의 집합으로 나눠서 생각해 보자. 빨간 세모 : 센서 빨간색 숫자 : 센서 위치 파란색 숫자 : 바로 옆에 있는 센서와의 거리 위 그림에서 기지국.. Algorithm, Problem Solving/백준(boj) 2023. 3. 28. [백준][Java] 15486 - 퇴사 2 목차 문제 정보 https://www.acmicpc.net/problem/15486 15486번: 퇴사 2 첫째 줄에 N (1 ≤ N ≤ 1,500,000)이 주어진다. 둘째 줄부터 N개의 줄에 Ti와 Pi가 공백으로 구분되어서 주어지며, 1일부터 N일까지 순서대로 주어진다. (1 ≤ Ti ≤ 50, 1 ≤ Pi ≤ 1,000) www.acmicpc.net 난이도 : G5 유형 : DP 시간 : O(N) 문제 풀이 n이 1,500,000 이여서 시간초과를 피하기 위해 O(N) 이하로 풀어내야 한다. 따라서 일차원 배열을 이용한 DP로 해결을 했다. 1일부터 시작하여 N일까지 순차적으로 DP테이블을 갱신해줬다 dp배열은 N+1만큼 선언해 주고 dp[0] = 0으로 초기화 점화식) dp[i + T[i] -1.. Algorithm, Problem Solving/백준(boj) 2023. 3. 28. [codeforces][Kotlin] 313A - Ilya and Bank Account 목차 문제 정보 https://codeforces.com/problemset/problem/313/A Problem - 313A - Codeforces codeforces.com 난이도 : A 유형 : Math 문제 풀이 입력값이 양수) 입력값 자체가 정답 입력값이 음수) 자릿수가 1개라면 정답은 0 그 외인 경우 첫 번째 자리를 뺀 수 vs 두 번째 자리를 뺀 수 중 더 큰 값이 정답 코드 import java.io.BufferedReader import java.io.InputStreamReader fun solution() = with(BufferedReader(InputStreamReader(System.`in`))) { var input = readLine().toInt() if (input <.. Algorithm, Problem Solving/codeforces 2023. 3. 27. [백준][Java] 6593 - 상범 빌딩 목차 [프로그래머스][Kotlin] - [codeforces][Kotlin] - 문제 정보 https://www.acmicpc.net/problem/6593 6593번: 상범 빌딩 당신은 상범 빌딩에 갇히고 말았다. 여기서 탈출하는 가장 빠른 길은 무엇일까? 상범 빌딩은 각 변의 길이가 1인 정육면체(단위 정육면체)로 이루어져있다. 각 정육면체는 금으로 이루어져 있어 www.acmicpc.net 난이도 : G5 유형 : BFS 문제 풀이 상 하 동 서 남 북 6가지 방향으로 이동할 수 있는 3차원 BFS 문제 스탠다드한 BFS풀이에서 z축으로 확장만 시켜주면 쉽게 풀 수 있는 문제이다. 아래 코드를 최적화한다면 출구를 만났을 때 다시 큐에 넣지 말고 바로 탐색을 종료하면 된다. 코드 import jav.. Algorithm, Problem Solving/백준(boj) 2023. 3. 27. [백준][Java] 2668 - 숫자고르기 목차 문제 정보 https://www.acmicpc.net/problem/2668 2668번: 숫자고르기 세로 두 줄, 가로로 N개의 칸으로 이루어진 표가 있다. 첫째 줄의 각 칸에는 정수 1, 2, …, N이 차례대로 들어 있고 둘째 줄의 각 칸에는 1이상 N이하인 정수가 들어 있다. 첫째 줄에서 숫자를 적절 www.acmicpc.net 난이도 : G5 유형 : 그래프탐색, DFS 문제 풀이 싸이클을 구하는 문제이다. 필자는 재귀가 아닌 while반복문으로 풀었다. 이문제에는 재귀보단 반목문이 더 최적화인 풀이일 것이다. ( 메모리, 시간이 더 적게 소모된걸 확인) 윗줄에서 숫자 1개를 선택했을 때 결국 다시 뽑은 숫자로 돌아오는지 확인해 주면 된다 ex) 1 2 3 4 5 6 2 4 1 3 6 5 1.. Algorithm, Problem Solving/백준(boj) 2023. 3. 27. [codeforces][Kotlin] 1560A - Dislike of Threes 목차 문제 정보 https://codeforces.com/problemset/problem/1560/A Problem - 1560A - Codeforces codeforces.com 난이도 : A 유형 : 브루트포스 문제 풀이 3의 배수 혹은 일의 자리가 3인 수를 제외 코드 import java.io.BufferedReader import java.io.InputStreamReader fun solution() = with(BufferedReader(InputStreamReader(System.`in`))) { var sb = StringBuilder() var list = arrayListOf() var i = 1 while (list.size < 1000) { if (!(i % 3 == 0 || i.. 카테고리 없음 2023. 3. 26. 이전 1 2 3 4 5 6 7 다음