programmers(30)
-
[Programmers] Lv1 성격 유형 검사하기 Java
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제는 다음과 같이 나뉜다. 성격 유형 RT, CF, JM, AN에 해당하는 값을 각각의 점수를 저장 점수에 따라서 출력 성격 유형 RT, CF, JM, AN에 해당하는 값을 각각의 점수를 저장 자료구조 선택 우선 점수를 저장하기 위해서 자료구조를 무엇을 쓸지 정해야한다. 여기서는 HashMap이 아닌 순서가 유지되는 LinkedHash..
2023.02.06 -
[Programmers] Lv1 문자열을 정수로 만들기 Java
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/12925# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제는 다음과 같이 2가지 부분으로 나눈다. 부호를 구분하는 것 char형을 정수로 만드는 법 1. 부호를 구분하는 것 문제의 제한 조건에 부호(+, -)가 올 수가 있다고 하였다. 즉 ‘+’가 오는 경우 ‘-’가 오는 경우 부호가 생략된 경우로 나뉜다. 부호가 오는 경우는 charAt(index) 메소드를 이용하여 0번째 index를 ..
2023.02.05 -
[Programmers] Lv1 햄버거 만들기 Java
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제는 스택을 이용한다면 쉽다. 다음은 스택에 쌓이는 과정을 그림으로 그린것이다. 그림을 보면 알듯이 검사에 성공을 한다면 next index를 변경함에 따라 이전에 쓰여있던것은 무시하는 게 가능해진다. 여기서는 stack을 pop 즉 꺼냈을때를 index로 변경하는 것으로 했다고 볼 수 있다. 소스 코드 public class Solu..
2023.02.04 -
[Programmers] Lv1 둘만의 암호 Java
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 한 단어를 1번 넘기는 법 char 변수는 ASSCI 코드로 표현이 가능하다. ASSCI 코드는 간단하게 설명하면 숫자를 이용하여 문자를 표현하는 방법 중 하나이다. ASCCI 코드를 이용하여 문자에 1을 더하면 ASSCI 코드 상에서 1을 더한 값이 된다. → ‘a’ + 1 = ‘b’가 된다. 또한 숫자간에 비교를 통하여 문자의 순서도 비..
2023.02.03 -
[Programmers] Lv1 개인정보 수집 유효기간 Java
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제는 날짜를 계산하고 비교해야 된다. 여기서 모든 월은 28일이라고 하니 아래와 같이 하나의 값으로 대체할 수 있다. 값 = year12/28 + month*28 + day 이를 이용하면 날짜 덧셈과 비교가 간단해진다. 위를 알고 있으면 이 문제는 다음과 같이 간단하게 변환 된다. 날짜를 term 만큼 더한 후 오늘날짜와 비교하고 파기..
2023.02.03 -
[Programmers] Lv0 치킨 쿠폰 Java
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/120884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제는 재귀로 풀어보았다. 최대 서비스 치킨의 수는 다음과 같이 얻을 수 있다. 쿠폰의수가 있다면 쿠폰으로 산 치킨과 나머지 쿠폰으로 다음 쿠폰을 구할 수 있다. 다음 쿠폰을 10으로 나눈 몫을 구하면 치킨 수가 나온다. 치킨이 0이 될 때까지 반복하면 최대 서비스 수가 나온다. 아래 그림은 1081개를 시켰을때 위 과정 변화를 그린 것..
2023.02.02 -
[Programmers] Lv0 유한소수 판별하기 Java
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/120878 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 기약 분수를 얻을 려면 분모, 분자를 최대 공약수로 나누면 된다. 약수를 구하는 방법은 두 개의 수에서 가장 작은 수를 하나씩 빼면서 두 수에 대해 동시에 나누어 떨어지는지 확인하면 된다. 최대 공약수는 약수중 가장 큰 수 이므로 처음 얻는 약수를 반환하면 최대 공약수가 된다. 무한 소수를 구하는 방법은 문제에 나와있듯이 분모의 소인수가 2..
2023.02.02 -
[Programmers] Lv0 등수 매기기 Java
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/120882 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 정렬하는 것으로 해당 문제를 풀어보았다. 문제 풀이 과정은 다음 단계로 이루어진다. 1 : 평균값과 index를 가진 List를 평균에 대해 오름 차순으로 정렬을 한다. → 정렬을 했으므로 공동 등수를 생각하지 않는 등수가 만들어진다. → 1번은 ArrayList에 저장을 했고 내장함수를 이용해서 정렬을 하였다. → 평균이아니라 덧셈을 하더..
2023.02.02 -
[Programmers] Lv0 특이한 정렬 Java
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/120880 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 자바에는 배열을 비교할 때 Arrays.sort()를 이용하면 편하다 Arrays.sort에 주어지는 익명 객체 Comparator를 작성하면 Comparator 바탕으로 정렬이 된다. compare 메소드에서 비교 방식을 설정할 수 있다. Math.abs로 절댓값을 얻는 방식을 통하여 거리를 얻도록 했다. 거리가 같다면 큰 수를 앞으로 가..
2023.02.01 -
[Programmers] Lv0 저주의 숫자 3 Java
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/120871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 10진법으로 n일 때 3x 마을에서 쓰는 숫자는 1에서부터 n번 다음 숫자를 찾아가면 된다. 저주받지 않은 다음의 숫자를 얻는 방법은 다음과 같다. 3으로 나누어 떨어지거나 3이 포함되어 있을 경우마다 계속 숫자를 증가시키면 된다. 나누어 떨어지는 것은 나머지 연산자를 사용하였고 3이 포함되어 있는 여부는 String의 내장함수인 conta..
2023.01.31