전체 글86 [백준][Java] 17070 - 파이프 옮기기 1 https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net 난이도 : G5 유형 : DP, DFS, BFS 문제 풀이 처음에 BFS로 풀었다가 시간초과가 떠서 DP로 방향을 바꿨다. dp[N][N][3] ) dp[N][N][0] = 가로 dp[N][N][1] = 세로 dp[N][N][2] = 대각선 dp[i][j][0] = dp[i][j-1][0] + dp[i][j-1][2] => 현재 가로 = 이전 가로 + 이전 대각선 dp[i.. Algorithm, Problem Solving/백준(boj) 2023. 3. 24. [codeforces][Kotlin] 1343B - Balanced Array https://codeforces.com/problemset/problem/1343/B Problem - 1343B - Codeforces codeforces.com 난이도 : B 유형 : 구성적, 수학 문제 풀이 배열의 반절로 나눴을 때 왼쪽은 짝수집합, 오른쪽은 홀수집합이어야 하고 양 쪽의 집합의 합은 서로 같아야 한다. 홀수의 합이 짝수의 합과 같기 위해서는 홀수의 개수가 짝수이여햐 하기 때문에 배열 길이의 반절이 짝수여야 한다. 코드 import java.io.BufferedReader import java.io.InputStreamReader fun solution() = with(BufferedReader(InputStreamReader(System.`in`))) { var sb = Strin.. 카테고리 없음 2023. 3. 23. [백준][Java] 2565 - 전깃줄 https://www.acmicpc.net/problem/2565 2565번: 전깃줄 첫째 줄에는 두 전봇대 사이의 전깃줄의 개수가 주어진다. 전깃줄의 개수는 100 이하의 자연수이다. 둘째 줄부터 한 줄에 하나씩 전깃줄이 A전봇대와 연결되는 위치의 번호와 B전봇대와 연결되는 www.acmicpc.net 난이도 : G5 유형 : LIS, DP 비슷한 문제 https://www.acmicpc.net/problem/7578 7578번: 공장 어떤 공장에는 2N개의 기계가 2열에 걸쳐 N개씩 배치되어 있다. 이 2개의 열을 각각 A열과 B 열이라고 부른다. A열에 있는 N개의 기계는 각각이 B열에 있는 N개의 기계와 하나씩 짝을 이루어 케이블 www.acmicpc.net 문제 풀이 세그먼트 트리로도 풀리지만 .. Algorithm, Problem Solving/백준(boj) 2023. 3. 23. [백준][Java] 24228 - 젓가락 https://www.acmicpc.net/problem/24228 24228번: 젓가락 두 개의 정수 $N, R$이 주어진다. $(1 ≤ N,R ≤ 10^{18})$ www.acmicpc.net 난이도 : S5 유형 : 수학 문제 풀이 항상 최악의 선택을 하면 된다. 1. 1 ~ N 종류의 젓가락 1개씩 뽑는다. -> N번 2. 아무거나 1개를 뽑으면 1쌍이 완성된다. -> 1번 (현재 1쌍 완성) 3. 이전에 뽑았던 젓가락 종류를 뽑는다 4. 남은 R-1 쌍을 완성하기 위해 3번 과정을 계속 진행한다. -> 2 * ( R - 1 ) 번 => N + 1 + 2 * ( R - 1 ) 주의) 입력값이 최대 10^18이므로 long 타입으로 변수를 선언 코드 import java.io.BufferedRead.. Algorithm, Problem Solving/백준(boj) 2023. 3. 23. [프로그래머스][Kotlin] 숫자찾기 난이도 : Lv0 유형 : 문자열, 탐색 문제 풀이 입력값 num을 문자열로 변환 후 k와 일치하는 인덱스를 찾아주면 된다. 코드 class Solution { fun solution(num: Int, k: Int): Int { var answer = num.toString().indexOfFirst { it == k.digitToChar() } if (answer != -1) { answer++ } return answer } } 카테고리 없음 2023. 3. 22. [Codeforces][Kotlin] 1796A - Typical Interview Problem https://codeforces.com/contest/1796/problem/A Problem - A - Codeforces codeforces.com 난이도 : A 유형 : 문자열, 탐색 문제 풀이 테스트 케이스가 돌기전에 1 ~ 2046까지의 FB 문자열을 미리 만들어 놓고 테스트 케이스마다 미리 만들어 놓은 문자열에 입력으로 들어온 문자열이 포함되어 있는지 판별하면 된다. 코드 import java.io.BufferedReader import java.io.InputStreamReader var str: String = "" var t: Int = 0 var k: Int = 0 var input: String = "" fun solution() = with(BufferedReader(InputSt.. Algorithm, Problem Solving/codeforces 2023. 3. 22. [백준][java] 25644 - 최대 상승 https://www.acmicpc.net/problem/25644 25644번: 최대 상승 미래를 예측하는 능력이 있는 정균이는 앞으로 $N$일간 ANA 회사의 주가가 어떻게 변하는지 정확히 예측할 수 있다. 정균이는 예측한 결과를 바탕으로 ANA 회사의 주식 한 주를 적당한 시점에 사고 www.acmicpc.net 난이도 : S5 유형 : 그리디, DP 시간 : N ( N Algorithm, Problem Solving/백준(boj) 2023. 3. 22. [백준][java] 10431 - 줄세우기 https://www.acmicpc.net/problem/10431 10431번: 줄세우기 초등학교 선생님 강산이는 아이들을 데리고 단체로 어떤 일을 할 때 불편함이 없도록 새로 반에 배정받은 아이들에게 키 순서대로 번호를 부여한다. 번호를 부여할 땐 키가 가장 작은 아이가 1 www.acmicpc.net 난이도 : S5 유형 : 시뮬레이션, 이분 탐색 시간 : P * NlogN (P 1; if (line.get(mid) < target) { left = mid + 1; } else { right = mid; } } return right; } public void solution() throws IOException { BufferedReader br = new BufferedReader(new Inp.. Algorithm, Problem Solving/백준(boj) 2023. 3. 22. [Kotlin] for문 안에서 인덱스 조정 에러, 해결법 코를린으로 간단한 for 반복문 코드를 짜다가 에러가 발생했다. 더보기 val cannot be reassigned 필자) 문제가 발생한 부분 for (i in 0 until n) { if( condition ) { answer[i] = start + i i++ //val cannot be reassigned 에러 발생 } } 다른 유저) https://stackoverflow.com/questions/63323769/how-to-increment-a-val-in-for-loop-in-kotlin-when-a-statement-is-true Kotlin 2023. 3. 22. [프로그래머스][Kotlin] 연속된 수의 합 https://school.programmers.co.kr/learn/courses/30/lessons/120923 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 난이도 : 0 유형 : 수학 문제풀이 등차수열의 공식을 이용하여 시작하는 숫자를 알아내면 쉽게 풀리는 문제이다. 코드 import java.util.* class Solution { fun solution(num: Int, total: Int): IntArray { var answer: IntArray = IntArray(num) var start = Math.ceil(total.toDouble.. Algorithm, Problem Solving/프로그래머스 2023. 3. 21. [Codeforces][Kotlin] 32B - Borze https://codeforces.com/problemset/problem/32/B Problem - 32B - Codeforces codeforces.com 난이도 : B 유형 : 문자열 문제 풀이 while loop문을 이용하여 문자열을 앞에서 탐색하면서 '.'이면 0 출력 혹은 '.'이 아니면 현재위치와 다음위치의 문자열이 '-.', '--'인지 판별하여 1, 2 출력 -> 인덱스 2칸 증가 import java.io.BufferedReader import java.io.InputStreamReader var input: String = "" var res: String = "" fun solution() = with(BufferedReader(InputStreamReader(System.`in`).. Algorithm, Problem Solving/codeforces 2023. 3. 21. [백준][java] 14492 - 부울행렬의 부울곱 https://www.acmicpc.net/problem/14492 14492번: 부울행렬의 부울곱 문제를 출제하던 욱제는 갑자기 괴랄한 문제를 내고 싶어졌다. 불행하게도, 이번 대회에는 프로그래밍 뉴비들이 많기 때문에 그럴 수는 없었다. 하지만 욱제는 신입생들을 괴롭히고픈 욕망을 www.acmicpc.net 난이도 : S5 구현 : 2차원행렬 시간복잡도 : N^3 문제 풀이 부울곱 행렬곱 부울곱 개념과 행렬곱 개념만 알면 쉽게 해결되는 문제입니다. A행렬 1 1 0 0 1 0 0 0 1 B행렬 1 0 0 1 1 1 0 0 1 부울곱 계산 예시) 정답 행렬의 (0,0)의 칸의 값 구하기 -> (1 && 1) | | (1 && 1) || (0 && 1) -> 1 1이 한 번이라도 나오면 1이 된다. 코드 .. Algorithm, Problem Solving/백준(boj) 2023. 3. 21. 이전 1 ··· 4 5 6 7 8 다음