[프로그래머스] Lv.2 모음사전
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 접근 방법 종료 조건 depth가 5라면 return 해준다. 점화식 문자열 = {문자열 + "A", 문자열 + "E", 문자열 + "I", 문자열 + "O", 문자열 + "U"} 재귀 메서드가 매번 실행될 때 마다 리스트에 현재 문자열을 담아주고, 문자열에는 점화식대로 더해준다. 그리고 depth를 매번 1씩 증가시켜서 종료 조건을 만족하는 경우, 마지막 문자열을 제거하고 다른 문자열을 넣..
[프로그래머스] Lv.2 쿼드압축 후 개수 세기
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 전체 사각형을 4개로 나눈다. 2. 해당 사각형에서 모든 값이 같은 경우 해당 값으로 합축한다. 3. 4개로 나눈 후에, 또 나눌 수 있다면 분리한다. 4. 더 이상 나눌 수 없는 경우에 0과 1의 개수를 카운팅 한다. 문제를 보면, 각 4가지 영역에 대해서 값이 같은지 다른지 체크를 해야하기 때문에 재귀가 먼저 떠올랐다. 하지만, 그 다음에 막혔던 부분이 시작점 설정을 어떻게 해줄 것인가?..
[프로그래머스] Lv.2 신규 아이디 추천
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/72410 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class Solution { public String solution(String new_id) { String answer = ""; new_id = new_id.toLowerCase(); new_id = level2(new_id); new_id = level3(new_id); new_id = level4(new_id); new_id = level5(new_id); new_id = level6..
[프로그래머스] Lv.1 문자열 다루기 기본
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/12918?itm_content=course14743 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class Solution { public boolean solution(String s) { boolean answer = true; if (s.length() != 4 && s.length() != 6) return false; for(char c : s.toCharArray()) { if (Character.isAlphabetic(c)) { retu..
[프로그래머스] Lv.1 숫자 문자열과 영단어
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 접근 방법 1. one,two... 등등 영단어들을 배열에 저장한다. 2. 배열을 순회하면서 s에 영단어와 일치하는 문자열이 있을 때, 교체해준다. class Solution { public int solution(String s) { String [] numbers = {"zero","one","two","three","four","five","six","seven","eight","nin..
[프로그래머스] Lv.1 문자열 내 p와 y의 개수
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/12916?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 코드 class Solution { boolean solution(String s) { boolean answer = true; if (!s.contains("p") && !s.contains("y")) { return true; } int pCount = 0; int yCount = 0; for(char c : s.toCharArray()) { c = Characte..
[프로그래머스] Lv.2 이진 변환 반복하기
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 접근 방법 1. s가 "1"이 될때까지 while문을 돌린다. 2. 0의 개수를 세서 더해준다. 3. s의 길이에서 0의 개수만큼 빼준다. 4. 앞서 3에서 구한 길이를 이진 변환해서 s에 다시 저장한다. 5. 이진 변환한 횟수를 1 더해준다. 내 코드 import java.util.*; class Solution { public int[] solution(String s) { int[] a..
[프로그래머스]Lv.1 3진법 뒤집기
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/68935 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class Solution { public int solution(int n) { String str = Integer.toString(n,3); StringBuilder sb = new StringBuilder(str); String reversed = sb.reverse().toString(); return Integer.parseInt(reversed, 3); } } 진법 변환 Integer..
[프로그래머스] Lv.2 문자열 압축
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 접근 1. 1부터 s/2 길이까지 잘라보면서 결과의 최소값을 비교한다. 2. base 문자열과 cur 문자열을 설정해서 값이 같은지 비교한다. 2-1. base문자열은 맨 처음 잘라야 하는 부분 2-2 cur 문자열은 현재 가르키고 있는 부분 3. 만약에 문자열을 비교했을 때, 일치한다면 count를 1 증가시켜준다. 4. 문자열이 같지 않을 때, count가 1보다 크다면 숫자를 sb에..
[프로그래머스] Lv.1 이상한 문자 만들기
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/12930 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 접근 1. 문자열을 공백 기준으로 분리한다. 2. 각 문자열을 순회 하면서 짝수일 때는 대문자, 홀수일때는 소문자로 반환하여 더해준다. 3. 마지막 문자열을 제외하고, 공백을 더해준다. class Solution { public String solution(String s) { StringBuilder sb = new StringBuilder(); String [] arrs = s.spl..