전체 글
-
<문자열> 프로그래머스 lv.1 숫자 문자열과 영단어알고리즘 2023. 5. 27. 15:20
https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class Solution { public int solution(String s) { int answer = 0; String[] num = {"zero","one","two","three","four","five","six","seven","eight","nine"}; for(int i=0; i
-
[java] 백준 9205 : 맥주 마시면서 걸어가기알고리즘 2023. 5. 24. 20:56
문제 https://www.acmicpc.net/problem/9205 9205번: 맥주 마시면서 걸어가기 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. www.acmicpc.net 풀이 package main; import java.io.*; import java.util.*; class Point{ int x; int y; Point(int x,int y){ this.x=x; this.y=y; } } public class Main { static boolean[] visited; static ArrayList p; static int n; static Arra..
-
[java] 백준 2468 : 안전영역알고리즘 2023. 5. 17. 20:21
문제 https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net package main; import java.io.*; import java.util.*; public class Main { static boolean[][] visited; static int[][] arr; static int[] dx = {0,0,1,-1}; static int[] dy = {1,-1,0,0}; static int n; public static void main(String..
-
[java] 백준 5014 : 스타트링크알고리즘 2023. 5. 16. 16:09
문제 https://www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net package main; import java.io.*; import java.util.*; public class Main { static int F; static int S; static int G; static int U; static int D; static int[] visited; static int h; public static void main(String[] args) throws Exc..
-
[java] 백준 1920 : 수 찾기알고리즘 2023. 5. 16. 10:26
문제 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 시간초과 반복문으로 돌리니 시간초과가 발생했다. 그래서 찾아보니 이분탐색으로 해서 시간을 줄일 수 있었다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br ..
-
[java] 백준 1463 : 1로 만들기알고리즘 2023. 5. 4. 20:00
문제 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 유형: dp 풀이 D[i] 는 i에서 1로 만드는 데 걸리는 최소 연산 횟수입니다. D[i]= D[i-1]+1 그전의 횟수에 +1하는 기본 점화식을 하나 세웁니다. D[i/3]+1 과 D[i/2]+1 과 D[i-1]+1 값을 비교하여 최소값을 구합니다. 1 2 3 4 5 6 7 8 9 10 0 1 1 2 3 2 3 3 2 3 예1) D[2]의 값 구하기 (2에서 1로 만드는데 최소 연산 횟수) D[2-1]+1 = 1 D[2/2] +1 = 1 최솟값을 구합니다 예2) D[3]의 값 구하기 D[3-1]+1 =..
-
[java] 백준 1244 스위치 켜고 끄기알고리즘 2023. 5. 3. 22:50
문제 https://www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net 풀이 잘못된 코드 런타임 에러 (ArrayIndexOutOfBounds) 발생원인은 a가 1이 될 수 있어 조건문을 세워 1보다 크고 N보다 작은 배열값만 확인하게 바꿔야된 다는 것이었다. arraylist배열 방식과 if문으로 1,0을 확인하는게 효율적이지 못해서 바꿨다 package main; import java.util.*; public class Main { public sta..
-
[java] 백준 2644 : 촌수계산알고리즘 2023. 5. 2. 11:32
문제 https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net 풀이 DFS 임의로 count를 만들어 dfs를 하기 전 count++를 계속했더니 틀린답이 나왔다 재귀함수 안에 count를 넣어줘야 맞게나옴 package main; import java.util.*; public class Main { static int N; static int M; static int C1; static int C2; static int count..