Java 24

[JAVA] 배열과 관련된 메소드 살펴보기

자바 배열 출력하기 💫 for문을 돌리지 않고 배열 고대로 출력하기 자바는 print(배열변수) 를 하면 배열 자체의 주소를 출력한다. 이 때 사용하는 메소드가 Arrays.toString(object[] o) 가 된다. public class Array { public static void main(String[] args){ int arr1[] = {1,2,3}; String arr2[] = {"J", "A", "V", "A"}; System.out.println(arr1); System.out.println(arr2); System.out.println(Arrays.toString(arr1)); System.out.println(Arrays.toString(arr2)); } } 를 실행하면 이 출력..

[BaekJoon] 백준 13305번 _ 주유소 for JAVA _ 그리디 알고리

https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 내가 푼 방법은 기름값이 싸면 만땅 충전해서 가는게 좋음 그래서 이전 기름값과 비교해서 작은곳에서 다음다음 갈 것 까지 만땅 충전해서 가는것이다... 그러니까 기름값 싼 곳을 찜해놓고 다음 기름값, 다다음 기름값, 다다다음 ... 이렇게 비교해서 작은곳에서 만땅 넣는다. 코드 import java.io.BufferedReader; import java.io.IOException; i..

알고리즘/백준 2022.01.17

[프로그래머스] 조이스틱 for JAVA _ 그리디 알고리즘

https://programmers.co.kr/learn/courses/30/lessons/42860 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 약간 노가다로 풀었다. 우선 조이스틱 상하를 살펴보면 A~N까지 0~13이고 Z~O가 0~12이다. N이 딱 가운데임 그래서 arraylist에 A~N, Z~O 를 각각 넣어서 몇 번째에 있는지 확인해 answer에 더해주었다. 조이스틱 좌우가 어려운데.. 예를 들어 ABAAAAAAB 일 때 무작정 오른쪽으로 가면 효율이 떨어진다. > < <..

[프로그래머스] 폰켓몬 for JAVA

https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 내가 푼 방법 nums 배열 속 숫자의 중복을 제거하여 폰켓몬이 몇 종류가 있는지 파악한다. 가질 수 있는 폰켓몬 수 = nums.length / 2 폰켓몬 종류 > 가질 수 있는 수 -> return 가질 수 있는 폰켓몬 수 폰켓몬 종류 return 폰켓몬의 종류 코드 import java.util.ArrayList; class Solution { publi..

[프로그래머스] K번째수 for JAVA

https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 내가 푼 방법 그냥 문제를 정리하고 풀라는대로 풀었다. for문으로 2차원 배열인 commands의 0~n번째 행을 읽고...했다. 코드 import java.util.ArrayList; import java.util.Collections; class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.le..

[프로그래머스] 내적 for JAVA

https://programmers.co.kr/learn/courses/30/lessons/70128 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr 내가 푼 방법 문제 그대로 풀었다. 코드 class Solution { public int solution(int[] a, int[] b) { int answer = 0; for(int i = 0; i < a.length; i++) answer += (a[i] * b[i]); r..

[프로그래머스] 음양 더하기 for JAVA

https://programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr 내가 푼 방법 그냥.... i = 0 ~ 배열의 길이 로 for문 돌리고 signs[i] = true면 +absolutes[i], 아니면 -absolutes[i] 코드 class Solution { public int solution(int[] absolutes, boolean[] signs) { int answer = 0; for(int..

[프로그래머스] 없는 숫자 더하기 for JAVA

https://programmers.co.kr/learn/courses/30/lessons/86051?language=java 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 내가 푼 방법 구하는게 없는 숫자의 합이므로 1~9까지 더한 45에서 numbers를 모두 더한 값을 뺐다. class Solution { public int solution(int[] numbers) { int answer = 0; for(int i : numbers) answer += ..

[프로그래머스] 키패드 누르기 for JAVA

https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 내가 푼 방법 우선 1 4 7 나오면 무조건 L, 3 6 9 나오면 무조건 R인건 자명하다. 그리고 2 5 8 0 에서 가까운걸 찾아야하니까 마지막에 누른 L과 R을 따로 저장해놓는다. 2 5 8 0 얘네가 것참 어려웠는데.. 2차원 배열을 써야하나 싶..

[프로그래머스] 숫자 문자열과 영단어 for JAVA

https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 내가 푼 방법 나는 글자수별로 나눠서 풀었다. 이런식으로 하나씩 읽어가며 3글자가 되었을 때 저중에 있는지 확인, 4글자 되면 저중에 확인, 5글자 확인해서 치환하기! class Solution { public int solution(String s) { int answer = 0; String alpha=""; String sub = s; // s에..