본문 바로가기

Java

(501)
[JAVA] 프로그래머스 - 핸드폰 번호 가리기 https://school.programmers.co.kr/learn/courses/30/lessons/12948 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   정답  class Solution { public String solution(String phone_number) { StringBuilder answer = new StringBuilder(); int len = phone_number.length(); for(int i=0; i   다른 사람의 풀이  class Solut..
[JAVA] 프로그래머스 - 숫자 문자열과 영단어 https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr     Character.isDigit() - char형 문자하나가 숫자인지 아닌지 검사하고 boolean 형값을 반환- 숫자면 true, 그외에는 false Character.isAlphabetic()- char형 문자가 알파벳인지 판단  Character.isLetter()- char형 문자가 문자인지 판단 Character.isSpace()- char형 문자가 공백문자인지 판단    정답  - ..
[JAVA] 프로그래머스 - 나누어 떨어지는 숫자 배열 https://school.programmers.co.kr/learn/courses/30/lessons/12910 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr    List를 배열로 변환 [Java] 배열을 List로, List를 배열로 변환하기 - 어제 오늘 내일 (tistory.com) [Java] 배열을 List로, List를 배열로 변환하기배열을 List로 Arrays.asList() new ArrayList(Arrays.asList()) Collectors.toList() ArrayList를 배열로 toArray() - java.util.List ..
[JAVA] 프로그래머스 - 시저 암호 https://school.programmers.co.kr/learn/courses/30/lessons/12926 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr    정답 - 현재 문자가 대문자인지 소문자인지 판단하여 기준 문자를 설정- 대문자일 경우 'A'(아스키코드 65), 소문자인 경우 'a'(아스키코드 97)- 현재 문자의 위치를 기준 문자로부터의 상대적 위치로 변환한다. - 'A' 또는 'a'를 0으로 두고, 이를 n만큼 이동시킨다. - 이동된 값이 알파벳 범위 내에 있도록 26으로 나눈 나머지를 구한다. - 다시 기준 문자를 더하여 올바른 아스키 ..
[JAVA] 프로그래머스 - 없는 숫자 더하기 https://school.programmers.co.kr/learn/courses/30/lessons/86051 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr    정답  class Solution { public int solution(int[] numbers) { int answer = 45; //0~9까지의 총합 for(int i=0; i   다른 사람의 풀이  import java.util.*;class Solution { public int solution(int[] numbers) { ..
[JAVA] 프로그래머스 - 음양 더하기 https://school.programmers.co.kr/learn/courses/30/lessons/76501 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr     정답  class Solution { public int solution(int[] absolutes, boolean[] signs) { int answer = 0; for(int i=0; i  다른 사람의 풀이  class Solution { public int solution(int[] absolutes, boolean[] signs) { ..
[자바 알고리즘 인터뷰] 12장 그래프 (4) 조합 https://leetcode.com/problems/combinations/description/ - 전체 수 n을 입력받아 k개의 조합(Combination)을 리턴하라   풀이 1) DFS로 k개 조합 생성   - 조합의 경우 자기 자신뿐만 아니라 앞의 모든 엘리먼트를 배제하고 구성해야 한다.- 왜냐하면 조합은 순서를 보지 않으므로 한 번 나왔던 엘리먼트는 다시 나와야 하지 않기 때문이다. - 이 말은 이전 엘리먼트보다 이후 엘리먼트의 값을 항상 더 크게 구성할 수있다는 말이기도 하다.  public void dfs(List> results, LinkedListelements, int n, int start, int k) { //k번째 노드에 도달하면 결과에 추가 if..
[자바 알고리즘 인터뷰] 12장 그래프 (3) 순열 https://leetcode.com/problems/permutations/description/- 서로 다른 정수를 입력받아 가능한 모든 순열(Permutation)을 리턴하라   풀이 1) DFS를 활용한 순열 생성 - 순열이란 결국 모든 가능한 경우를 그래프 형태로 나열한 결과라고 할 수 있기 때문에 그래프로 표현해보면 다음과 같다.  - 리프 노드(Leaf), 즉 A3의 모든 노드가 순열의 최종 결과이다.- 레벨이 증가할수록 자식 노드의 개수가 점점 적어진다. A0의 자식 노드는 3개였다가 A1의 자식 노드는 2개, A2의 자식 노드는 1개 순으로, 이는 순열의 수식이기도 한 3*2*1 형태이기도 하다.   public void dfs(List> results, List prevElements,..