전체 글 201

[프로그래머스] 서울에서 김서방 찾기

처음에 사용했던 방법은 배열에서 위치를 index로 반환하는 메소드를 이용하는 것이다. indexOf는 List로 배열을 변환하여 사용해야 한다. import java.util.Arrays; class Solution { public String solution(String[] seoul) { String answer = ""; //indexOf를 사용하기 위해 배열을 List로 변환해야 함 answer = "김서방은 " + Arrays.asList(seoul).indexOf("Kim") + "에 있다"; return answer; } } 다른 방법으로는 for문을 이용해서 배열의 위치별로 값을 비교하는 방법이 있다. + 처리 시간은 대체로 위에 배열로 푼 방법이 덜 걸린다. Loop가 생각보다 시간을 ..

Language/JAVA 2022.01.17

[프로그래머스] 문자열 다루기 기본

class Solution { public boolean solution(String s) { boolean answer = true; if (s.length() != 4 && s.length() != 6) answer = false; for (int i = 0; i '9') { answer = false; } } return answer; } } 임의의 배열을 설정하고, anyMatch를 사용해서 풀려고 했는데 실패했다. 문자열의 경우 char를 많이 이용하여 비교하는 것 같아서, 다른 풀이를 참고하여 작성한 코드이다. char :: https://paran21.tistory.com/30 ++ 정..

Language/JAVA 2022.01.17

#ArrayList + List

ArrayList List 인터페이스를 상속받은 클래스로 크기가 가변적으로 변하는 선형리스트 일반적인 배열과 같은 순차리스트이며, 인덱스로 내부의 객체를 관리한다. 객체들이 추가되어 저장 용량(capacity)을 초과한다면 자동으로 부족한 크기 만큼 저장 용량이 늘어난다. → LinkedList와의 차이(https://devlog-wjdrbs96.tistory.com/64) import java.util.ArrayList; List선언 List list = new ArrayList(); List list = Arrays.asList(new String[]{"a","b","c"}); ArrayList 선언 ArrayList array = new ArrayList(); //타입 미설정 object로 선언 값..

Language/JAVA 2022.01.17

[프로그래머스] 문자열 내 p와 y의 개수

import java.util.Locale; class Solution { boolean solution(String s) { boolean answer = true; //혹은 s.toUpperCase()를 사용해서 모두 대문자로 바꿔준다 s = s.toLowerCase(); int p_count = 0; int y_count = 0; for (int i = 0; i < s.length(); i++){ //charAt(i)는 i에 위치한 값을 char로 반환한다. if(s.charAt(i) == 'p') { p_count++; } if(s.charAt(i) == 'y') { y_count++; } } answer = (p_count == y_count) ? true : false; return answe..

Language/JAVA 2022.01.15

[프로그래머스] 나누어 떨어지는 숫자 배열

일반적으로 배열은 크기가 고정되지만, ArrayList를 사용하면 array.add(a)를 사용하여 ArrayList에 추가할 수 있다. import java.util.ArrayList; import java.util.Collections; class Solution { public ArrayList solution(int[] arr, int divisor) { //ArrayList는 배열 크기가 고정되지 않음. ArrayList answer = new ArrayList(); for (int i = 0; i < arr.length; i++){ if (arr[i] % divisor == 0) { answer.add(arr[i]); } } //내림차순 정렬 : Collections.sort(array, Co..

Language/JAVA 2022.01.15

[프로그래머스] 2016년

요일을 구하는 문제로, 입력하는 날 이전의 모든 일자의 합을 구하고, 이것을 7로 나눈 나머지를 활용하여 계산하였다. import java.util.stream.IntStream; class Solution { public String solution(int a, int b) { String answer = ""; //1월 1일은 금요일이고, 배열은 [0]부터 카운트되기 때문에 목요일부터 시작 String[] week = new String[] {"THU","FRI","SAT","SUN","MON","TUE","WED"}; //마지막날이 31인 경우는 else로 계산하여, 그 외의 경우인 29, 30인 날을 각각 배열로 만듦 int[] case1 = new int[] {2}; int[] case2 = n..

Language/JAVA 2022.01.15