Algorithm

    프로그래머스 코딩테스트 연습 Level4 - 우유와 요거트가 담긴 장바구니 [ Mysql ]

    코딩테스트 연습 - 우유와 요거트가 담긴 장바구니 CART_PRODUCTS 테이블은 장바구니에 담긴 상품 정보를 담은 테이블입니다. CART_PRODUCTS 테이블의 구조는 다음과 같으며, ID, CART_ID, NAME, PRICE는 각각 테이블의 아이디, 장바구니의 아이디, 상품 종류, 가 programmers.co.kr 셀프 조인을 이용하여 풀었습니다. SELECT distinct a.CART_ID from CART_PRODUCTS a, CART_PRODUCTS b where a.CART_ID = b.CART_IDAND a.NAME = 'Milk' AND b.NAME = 'Yogurt' order by a.CART_ID​

    프로그래머스 코딩테스트 연습 Level2 - 점프와 순간 이동 [ Java ]

    코딩테스트 연습 - 점프와 순간 이동 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈 programmers.co.kr try 1 dp 문제라고 생각해서 bottom 방식의 dp로 풀었다 n번째 항 = 짝수일 경우 n/2번째 항 홀수일 경우 n/2번째 항 + 1 과 n-1 번째 항중에 작은 값 메모리 초과와 시간초과가 발생했다. public class Solution { public int solution(int n) { int d[] = new int[n+1]; d[0] = 0; for (int i = 1; i

    프로그래머스 코딩테스트 연습 Level2 - 영어 끝말잇기 [ Java ]

    코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr 반복문을 돌 때, 체크를 합니다. 1. 이전 단어의 마지막 글자와 현재 단어의 첫 글자가 일치하는지 2. 현재 단어가 hashset에 포함되어있는지 ( 중복검사 ) 3. 단어의 길이가 1..

    프로그래머스 코딩테스트 연습 Level1 - 소수 만들기 [ Java ]

    코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 에라토스테네스의 체로 주어진 범위안에 소수들을 모두 표시하고 백트레킹을 사용해 모든 조합을 구해서 소수인지를 판단합니다. import java.util.*; class Solution { static boolean[] isPrime = new boolean[3000]; static int[] num = new int[3]; static int[] arr; static boolean[] visited; static int result = 0; ..

    프로그래머스 코딩테스트 연습 Level1 - 예산 [ Java ]

    코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr import java.util.*; class Solution { public int solution(int[] d, int budget) { int count = 0; Arrays.sort(d); for (int bb : d) { if (budget - bb < 0) break; budget -= bb; count++; } return count; } }

    프로그래머스 코딩테스트 연습 Level2 - 방문길이 [ Java ]

    코딩테스트 연습 - 방문 길이 programmers.co.kr 같은 길이라면 왼쪽에서 오른쪽으로 이동하던 오른쪽에서 왼쪽으로 이동하던 중복으로 처리하기 때문에 hashset에 양방향을 기록해두도록 합니다. import java.util.*; class Solution { public int solution(String dirs) { HashSet set = new HashSet(); int[] pos = new int[]{5, 5}; int count = 0; for (int i = 0; i < dirs.length(); i++) { switch (dirs.charAt(i)) { case 'U': if (pos[0] != 0) { if (!set.contains(""+pos[0]+pos[1]+(pos[0..

    백준 11057번 오르막 수 [ Java ]

    11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수 www.acmicpc.net import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int mod = 10007; int N = Integer.parseInt(br.read..

    백준 3046번 R2 [ Python ]

    3046번: R2 두 숫자 R1과 R2가 있을 때, 두 수의 평균 S는 (R1+R2)/2와 같다. 상근이는 정인이 생일 선물로 두 숫자 R1과 R2를 주려고 한다. 생일 파티에서 상근이는 정인이에게 이 두 숫자를 말해주고, 정인이는 www.acmicpc.net R1, S = map(int, input().split()) print(S*2-R1)

    백준 2475번 검증수 [ Python ]

    2475번: 검증수 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들 www.acmicpc.net 입력을 받고 각 요소들을 제곱해서 더한 후 마지막에 10으로 나눕니다. sum = 0; for num in map(int, input().split()): sum += num**2 print(sum % 10)​

    백준 1271번 엄청난 부자2 [ Python ]

    1271번: 엄청난 부자2 첫째 줄에는 최백준 조교가 가진 돈 n과 돈을 받으러 온 생명체의 수 m이 주어진다. (1 ≤ m ≤ n ≤ 101000, m과 n은 10진수 정수) www.acmicpc.net 두 개의 입력을 받아서 나눈 값과 나머지를 출력한다 n, m = map(int, input().split()) print(n // m) print(n % m)