프로그래머스

문제 https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1. HashMap 사용. 원하는 제품과 수량을 put 원하는 제품의 총 개수 구함 => count HashMap map = new HashMap(); int count = 0; for(int i=0 ;i0){ count--; } map.put(discount[i+10], map.get(discount[i+10])-1); } if(count==0) answer++; } 전체 코드 im..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 효진이는 1칸 또는 2칸을 뛰어서 이동할 수 있다. 효진이가 3번째 칸에 가려고 하는 경우의 수는 1번째 칸에서 2칸 뛰는 방법 1가지 2번째 칸에서 1칸 뛰는 방법 1가지 따라서, 3번째 칸까지는 1번째 칸까지 가는 방법의 수 + 2번째 칸까지 가는 방법의 수의 값과 같다. 다시, 4번째 칸에 가려고 하는 경우의 수는 3번째 칸에서 1칸 뛰는 방법 1가지 2번째 칸에서 2칸 뛰는 방법..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 유클리드 호제법을 이용하여 순서대로 arr[i-1]과 arr[i]의 최소공배수를 구하기 arr[i-1]와 arr[i]의 최소 공배수를 arr[i]에 갱신 유클리드 호제법 2개 숫자의 최대 공약수를 구하는 알고리즘 자연수 a와 b에 대해 a를 b로 나눈 나머지 r이라고 하면, a와 b의 최대 공약수와 b와 r의 최대공약수는 같다. a를 b로 나눈 나머지 r을 구한 뒤, b를 r로 나..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 요약 연산자 우선순위를 재정의 하여 주어진 수식을 계산. 재정의 된 우선순위를 가지고 계산한 값 중 가장 큰 값 리턴 풀이 0. expression에서 연산자와 숫자 분리 String number = ""; numList = new ArrayList(); operList = new ArrayList(); for(int i=0; i
https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 0. 단어 기록 ArrayList를 선언해 앞서 불린 단어들을 저장한다. pre : 바로 앞순서에 불린 단어 ArrayList list = new ArrayList(); String pre = ""; 1. 끝말잇기 순서 사람 순서대로 for문을 돌렸다. 만약 마지막 사람 차례였다면 i를 -1로 바꿔주면 다음 for문에서 i++ 연산이 일어나므로 i는 0이 됨. for(int i=0; i=wo..
https://school.programmers.co.kr/learn/courses/30/lessons/86491?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1. 직사각형의 명함의 정보가 있을 때, 긴 길이를 width, 짧은 길이를 height로 간주한다. int w = size[0]>size[1] ? size[0] : size[1]; int h = size[0]
https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소수 오른쪽에만 0이 있고 왼쪽에는 아무것도 없는 경우 0P처럼 소수 왼쪽에만 0이 있고 오른쪽에는 아무것도 없는 경우 P처럼 소수 양쪽에 아무것도 없는 경우 단, P는 각 자릿수에 0을 포함하지..
문제 첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 풀이 유클리드 호제법 두수를 나누어서 나온 나머지를 이전 나머지에 다시 나누고, 0 이 나올 때까지 반복. 중지했을 때, 바로 직전의 나머지가 최대공약수 => 재귀를 통해 구현 private static int gcd(int a, int b){ if(b == 0) return a; return gcd(b, a % b); } 1. 먼저 분모를 똑같이 만들어주고 2. 분자 계산 3. 분모와 분자를 최대공약수로 나..
문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 1 이상 200 이하인 문자열입니다. s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다. 숫자는 단어의 첫 문자로만 나옵니다. 숫자로만 이루어진 단어는 없습니다. 공백문자가 연속해서 나올 수 있습니다. 문제 풀이 substring 메소드를 활용하여 공백으로 구분해 문자열 배열에 넣어서 계산한다. substring, toUpperCase, toLower..
문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수입니다. 입출력 예 n result 45 7 125 229 입출력 예 #1 답을 도출하는 과정은 다음과 같습니다. n (10진법)n (3진법)앞뒤 반전(3진법)10진법으로 표현 n(10진법) n(3진법) 앞뒤 반전(3진법) 10진법으로 표현 45 1200 0021 7 따라서 7을 return 해야 합니다. stack이랑 math.pow() 사용해서 해결 import java.util.Stack; class Solution { public int solution(int n)..
짛
'프로그래머스' 태그의 글 목록