본문 바로가기

ALGORITHM

(30)
[프로그래머스 Java] 서울에서 김서방 찾기 코딩테스트 연습 - 서울에서 김서방 찾기 String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제 programmers.co.kr ⏱소요 시간 - 10분 🔑해결 방법 seoul[]을 돌면서 "Kim"이 존재하는 인덱스를 찾는 문제 String의 contains() 메서드를 사용하여 해결하였다. 🔎소스 코드 package step1; // 서울에서 김서방 찾기 public class Ex17 { public static void main(String[] args) { System.out.println(solution(ne..
[프로그래머스 Java] 문자열 다루기 기본 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이 programmers.co.kr ⏱소요 시간 - 1시간 🔑해결 방법 로직 짜는 건 진짜 금방 짰다. 10분 정도? 근데,,, return문 반환, 숫자가 들어왔는지 비교하는거에서 && 써놓고 계속 안된다 이러고 있었다 하.....^^ 공백 제거해준다고 trim()은 왜 썼으며 (어차피 if문에서 걸러질 텐데 제정신 아님ㅋㅋ) 현재 시각 새벽 네시.... 졸려서 정신 나간거라고 하자.........ㅎ 나는 아스키 코드를 이용해서 풀었는데 cha..
[프로그래머스 Java] 문자열 내림차순으로 배치하기 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 programmers.co.kr ⏱소요 시간 - 45분 🔑해결 방법 [백준 2908 Java] 문자열 뒤집기 - StringBuffer / StringBuilder StringBuffer 클래스를 이용하여 문자열을 뒤집을 수 있다. 문자열을 내림차순으로 배치하는 것이랑은 다르므로 주의!! StringBuffer().append(str) str 데이터를 현재 문자열 끝에 추가 StringBuffer().append(st.. dblee.tistory.com 이 방법으로..
[프로그래머스 Java] 문자열 내 p와 y의 개수 코딩테스트 연습 - 문자열 내 p와 y의 개수 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 programmers.co.kr ⏱소요 시간 - 20분 🔑해결 방법 String 클래스의 toLowerCase() / toUpperCase() / equalsIgnoreCase(str) 중에 하나를 골라 사용하면 된다. 대소문자를 통일시켜놓고, charAt(i)을 이용해 i의 값을 배열의 길이만큼 증가시키면서 p나 y가 존재하는지 체크하고 존재하면 cnt를 증가시키는 로직이다. 그리고 마지막에 두 cnt가 같은지 비교하면 ..
char[] <-> String <-> String[] String -> char[] String str = "abcde"; char[] chArr = str.toCharArray(); System.out.println(Arrays.toString(chArr)); // [a, b, c, e, d] String num = "12345"; char[] chArr2 = num.toCharArray(); System.out.println(Arrays.toString(chArr2)); // [1, 2, 3, 4, 5] char[] -> String char[] arr = { 'a', 'b', 'c', 'd' }; String str = String.valueOf(arr); // abcd String -> String[] String str = "abcde" Strin..
[프로그래머스 Java] 문자열 내 마음대로 정렬하기 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1 programmers.co.kr Comparator / Comparable 인터페이스 Comparator / Comparable 인터페이스란? 컬렉션을 정렬하는데 필요한 메서드를 정의한다. 그렇다면 둘의 차이는? Comparable - comparaTo(Object o1) - 기본 정렬 기준 Comparator - compare(Object o1, Object o2.. dblee.tistory.com ⏱소요 시간 - 2시간 동안 삽..
[프로그래머스 Java] 두 정수 사이의 합 코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우 programmers.co.kr ⏱소요 시간 - 10분 🔑해결 방법 아주 아주 쉬운 문제였다. if문으로 분기해서 풀어보고, 중복된 코드를 줄이기 위해 max, min을 먼저 정해놓는 두 가지 풀이로 풀어보았다. Math.max(a,b) : a와 b 중에 큰 수를 리턴 Math.min(a,b) : a와 b 중에 작은 수를 리턴 🔎소스 코드 package step1; // 두 정수 사이의 합 public class Ex12 {..
[프로그래머스 Java] 나누어 떨어지는 숫자 배열 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하 programmers.co.kr ⏱소요 시간 - 17분 🔑해결 방법 문제 푸는 과정을 먼저 적어놓고 코딩을 해서 금방 풀었던 문제. 문제가 쉽기도 했다. 1. arr[]을 정렬한다. 2. arr[]을 돌면서 각 요소들을 divisor로 나눈 나머지(arr[i] % divisor)가 0이면 arr[i]를 list에 추가한다. 3. 만약 list.size()가 0이면 list에 -1을 추가한다. 4. list를 answer[] 형..