[프로그래머스] 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..
[프로그래머스] Lv.1 시저 암호
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/12926 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 접근 1. 문자열을 순회하면서 공백인 경우, 결과값에 공백을 그대로 더해준다 2. 문자열을 lowercase로 전부 변환하고, 임시값을 저장한다. 3. 문자열에 n만큼 밀었을 때, 'z'보다 크다면 26만큼 빼준다. 4. 만약에 기존 문자열이 대문자라면, 'a'를 더한 값을 대문자로 변환해준다. class Solution { public String solution(String s, i..
[프로그래머스] Lv.1 자연수 뒤집어 배열로 만들기
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/12932?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class Solution { public int[] solution(long n) { String s = String.valueOf(n); int[] answer = new int[s.length()]; StringBuilder sb = new StringBuilder(s); String reversed = sb.reverse().toString(); char [] ar..
[프로그래머스] Lv.2 행렬의 곱셈
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 접근 행렬의 합은 answer[0][0] = arr1[0][0] * arr2[0][0] + arr1[0][1] * arr2[1][0]; answer[0][1] = arr1[0][1] * arr2[0][1] + arr1[0][1] * arr2[1][1]; 즉, R[i][j] = A[i][K] * B[K][j] + A[i][K] * B[K][j] 출처: https://tosuccess.tis..
[프로그래머스] Lv2. 거리두기 확인하기
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
문제풀이 접근 1. 한번에 5개의 케이스가 주어지므로, places[]로 처음에 순회를 해야한다. 2. 배열에서 'P'를 찾으면, 해당 좌표를 bfs 돌려준다. 2-1. 해당 좌표를 큐에 넣고, 방문 처리 해준다. 2-2. 범위를 초과했거나, 방문한 지역이면 continue 해준다. 2-3. 만약에 순회한 지역에서 'P'를 찾고, 거리가 2 이내라면 false를 리턴한다. 2-4. 'O'이면서 거리가 2 이내일 때, 큐에 넣어서 탐색을 계속 이어나간다. 3. bfs의 결과를 flag에 반영하고, 그 결과에 따라서 answer 배열 값을 업데이트 해준다. import java.util.*; class Solution { static int [] dx = {1,0,-1,0}; static int [] dy ..
[프로그래머스] Lv.2 삼각 달팽이
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/68645?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1번 풀이 class Solution { static int [] dx = {1,0,-1}; static int [] dy = {0,1,-1}; public int[] solution(int n) { int [][] temp = new int[n][n]; int x = 0; int y = 0; int val = 1; while (true) { // 아래로 이동 while(..