목록CodingTest (430)
기록방
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 직사각형의 태두리 격자 수 brown과 그 안쪽 격자의 수 yellow를 입력받는다. 직사각형의 가로와 세로 길이를 반환한다. 🔸 문제 풀이 🔸 가로 길이는 세로 길이보다 크거나 같다. 세로 길이를 1부터 가로와 같아 질 때 까지 키워가며 brwon과 yellow값이 나오는지 확인한다. brown = 2x + 2y - 4 2(x + y - 2) = brown x + y = brown/2 + 2 yellow = (x-2) * (y-2) 🔸 코드 🔸 class Solution { p..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 문자열 s에서 2번 연속으로 나온 문자쌍을 제거해간다. 제거 한 후 앞 뒤로 붙여야하고 그때 만들어진 문자쌍도 지워야 한다. 🔸 문제 풀이 🔸 스택 자료구조를 사용한다. 스택의 가장 위 문자가 현재 문자와 같으면 꺼내고, 다르면 현재 문자를 스택에 넣는다. 마지막에 스택이 비어있으면 문자열을 모두 제거할 수 있는것이므로 1을 반환한다. 🔸 코드 🔸 import java.util.Stack; class Solution { public int solution(String s) { c..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 n번째 피보나치수를 1234567로 나눈 나머지를 리턴한다. 🔸 문제 풀이 🔸 피보나치수가 커져갈때마다 1234567로 나눠서 누적한다. 🔸 코드 🔸 class Solution { public int solution(int n) { int a = 0; int b = 1; int c; for(int i = 2; i
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 자연수 n의 다음 큰 숫자를 구한다. 다음 큰 숫자는 3가지로 정의한다. n보다 큰 자연수 2진수로 변환했을 때 n과 다음 큰 숫자의 1의 개수가 같다. 다른 두 조건을 만족하는 가장 작은 수 🔸 문제 풀이 🔸 n을 2진수 변환 후 1의 개수를 세서 저장한다. n을 1씩 증가해가며 다음 큰 숫자의 정의를 만족하는지 확인한다. 2진수 문자열의 1의 개수를 세는 부분에서 최적화가 필요하다. 🔸 코드 🔸 class Solution { public int solution(int n) {..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 자연수 n이 입력된다. 연속된 자연수들의 합으로 n을 만들 수 있는 경우의 수를 반환한다. 🔸 문제 풀이 🔸 연속된 자연수들의 첫 값을 1부터 n까지 늘려간다. 연속으로 자연수들을 더해가며 n이 되면 카운트를 늘리고, n을 넘으면 더하기를 멈추고 다음 첫 값부터 계산한다. 🔸 코드 🔸 class Solution { public int solution(int n) { int answer = 0; for(int i = 1; i