전체 글90 [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. [백준][Java] 2023 - 신기한 소수 문제 정보 https://www.acmicpc.net/problem/2023 2023번: 신기한 소수 수빈이가 세상에서 가장 좋아하는 것은 소수이고, 취미는 소수를 가지고 노는 것이다. 요즘 수빈이가 가장 관심있어 하는 소수는 7331이다. 7331은 소수인데, 신기하게도 733도 소수이고, 73도 소수 www.acmicpc.net 난이도 : G5 유형 : 재귀, 정수론, 소수판정, 백트래킹 문제 풀이 문제 메모리 조건을 때문에 미리 소수배열을 만들어 놓으면 메모리 초과가 뜰 것이다. 그래서 어떤 수가 소수인지 동적으로 판별하여야 한다. 풀이 방법 - 예시 - 5939) 첫번째 수가 소수이다. (5) -> 첫째둘째 수가 소수이다. (59) -> 첫째둘째셋째 수가 소수이다. (593) -> ... N자리까.. Algorithm, Problem Solving/백준(boj) 2023. 3. 26. [백준][Java] 20055 - 컨베이어 벨트 위의 로봇 목차 문제 정보 https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 난이도 : G5 유형 : 구현, 시뮬레이션 문제 풀이 개인적으로 문제의 내용 설명이 불친절하다고 느꼈다. 문제에 주어진 1 ~ 4 수행과정을 1 세트로 묶어서 카운팅 하여야 한다. 문제 말대로하면 1 ~ 4 과정을 모두 세서 카운팅하여야 하는데, 그러면 오답이 나올 것이다. 코드 import java.io.BufferedReader; import java.io.. Algorithm, Problem Solving/백준(boj) 2023. 3. 26. [codeforces][Kotlin] 466A - Cheap Travel 목차 [백준][Java] - [프로그래머스][Kotlin] - 문제 정보 https://codeforces.com/problemset/problem/466/A Problem - 466A - Codeforces codeforces.com 난이도 : A 유형 : 그리디, Math 문제 풀이 세트의 표의 1장당 가격 vs 일반 1장당 가격 둘이 비교해서 그리디 하게 선택하면 된다. 코드 import java.io.BufferedReader import java.io.InputStreamReader import java.util.StringTokenizer fun solution() = with(BufferedReader(InputStreamReader(System.`in`))) { var st = Strin.. Algorithm, Problem Solving/codeforces 2023. 3. 25. 이전 1 ··· 3 4 5 6 7 8 다음