[프로그래머스] Lv.2 소수 찾기
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요.  제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다.numbers는 ..
[백준] Silver 3. N과 M(9)
·
Algorithm/백준
https://www.acmicpc.net/problem/15663 15663번: N과 M (9) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 방법 1) Set을 이용한 풀이 public class Main { static int m, n; static int [] arr; static int [] tmp; static boolean[] visited = new boolean[10]; static StringBuilder sb = new StringBuilder(); static Set set = new LinkedHashSet(); ..
[백준] Silver 3. N과 M(4)
·
Algorithm/백준
https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 문제 접근 방법 같은 수를 여러 번 골라도 된다. 고른 수열은 비내림차순이어야 한다. 두가지 조건을 생각하면서 문제를 풀어야 한다. 같은 수를 여러 번 골라도 된다 -> 1을 골랐을 때 두번째 값도 동일한 1을 받아야 하므로 재귀 함수를 돌릴 때 i로 돌리면 된다. 비내림차순 -> start 파라미터를 통해서 1을 다 순회하고 나면, 그 다음으로 넘어가기 때문에 자동으로 오름차순이 된다. imp..
[백준] Silver 3. N과 M(2)
·
Algorithm/백준
https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 문제 요구 사항 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 고른 수열은 오름차순이어야 한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { static int m, n; static int [..
[프로그래머스] Lv.1 모의고사
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 접근 방법 1. 1번,2번,3번 수포자에는 반복되는 부분이 있으므로 반복 되는 부분을 제거하고 배열에 저장한다. 2. answers 배열을 돌면서 각 수포자들이 맞은 개수를 계산한다. 3. 3명의 값을 max 연산을 통해서 비교하고, 최종 max값에 해당하는 수포자를 배열에 넣어준다. 3-2. 3명의 값이 모두 동일한 경우, 셋 다 배열에 넣어준다 (오름차순으로) import java.uti..
[프로그래머스] 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씩 증가시켜서 종료 조건을 만족하는 경우, 마지막 문자열을 제거하고 다른 문자열을 넣..
[백준] Silver 1. Z
·
Algorithm/백준
https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 접근 방법 우선, 재귀 메서드에 대해서 정의를 하고 넘어가야 한다. func(int n, int r, int c)는 무엇일까? 2^n * 2^n 배열에서 (r,c)를 방문하는 순서를 반환하는 함수 그러고 나서 base condition을 지정해줘야 하는데, n이 0이 될때 0을 리턴하도록 설정하였다. 1사분면 -> 그대로 리턴 2사분면 -> 1사분면의 넓이 + 재귀 3사분면 -> 1,2사..
[백준] Silver 1 쿼드트리
·
Algorithm/백준
https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { static StringBuilder sb = new StringBuilder(); static int [][] board; public static..
[프로그래머스] 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..