728x90
반응형

PCCP 6

[PCCP Java Stack] 주식가격

📈 프로그래머스 PCCP - 주식가격 Java 풀이 (스택 방식 시간순 해설 포함)문제 링크: 프로그래머스 - 주식가격🧾 문제 설명초 단위로 기록된 주식 가격이 담긴 배열 prices가 주어집니다.각 시점에서 가격이 떨어지지 않은 시간(초) 을 계산해 int[]로 반환하세요.🎯 입력/출력 예pricesreturn[1, 2, 3, 2, 3][4, 3, 1, 1, 0]🔍 설명1초 시점의 1원은 끝까지 떨어지지 않음 → 4초간 유지 → 42초 시점의 2원은 끝까지 떨어지지 않음 → 33초 시점의 3원은 다음 초에 떨어짐 → 14초 시점의 2원은 1초 유지 → 15초 시점의 3원은 마지막이므로 0초 유지 → 0🚫 완전탐색 방식 (비효율)public int[] solution(int[] prices) {..

PCCP/스택 2025.07.20

[프로그래머스 JAVA] 최대공약수와 최소공배수

문제 링크 👉 https://school.programmers.co.kr/learn/courses/30/lessons/12940✍ 문제 설명두 개의 자연수 n, m이 주어졌을 때,최대공약수(GCD, Greatest Common Divisor)최소공배수(LCM, Least Common Multiple)를 배열에 담아 [GCD, LCM] 형태로 반환하는 solution() 함수를 작성하는 문제입니다.예를 들어,입력값 n = 3, m = 12가 주어졌을 때,최대공약수는 3,최소공배수는 12이므로 [3, 12]를 반환해야 합니다.✅ 제한 조건1 ≤ n, m ≤ 1,000,000시간복잡도를 고려한 효율적인 구현이 요구됨💡 핵심 개념이 문제를 풀기 위해 알아야 할 수학 공식은 아래와 같습니다.최대공약수 (GCD..

[프로그래머스 JAVA] 시저 암호

문제 링크 👉 https://school.programmers.co.kr/learn/courses/30/lessons/12926🔑 1. 문제 핵심 요약주어진 문자열 s의 각 알파벳 문자를 n만큼 밀어 암호화하는 문제입니다.대소문자는 따로 순환 처리해야 하고, 공백은 그대로 둬야 합니다.⚠️ 2. 주의사항공백 ' '은 변하지 않습니다.대문자 ↔ 대문자, 소문자 ↔ 소문자 → 따로 처리.밀었을 때 'z'를 넘으면 'a', 'Z'를 넘으면 'A'로 돌아가야 함.Character 클래스 사용 → isUpperCase, isLowerCase로 깔끔한 분기 가능.🛠️ 3. 슈도코드for 각 문자 c in 문자열: if c == ' ': 그대로 추가 else if c는 대문자: ..

[프로그래머스 JAVA] 자연수 뒤집어 배열로 만들기

📌 문제 링크👉 프로그래머스 문제 바로가기✨ 1. 문제의 핵심 요약주어진 자연수 n을 뒤집어서 각 자리 숫자를 배열로 반환하는 문제입니다.예: 12345 → [5,4,3,2,1]⚠️ 2. 주의 사항n은 최대 10,000,000,000까지 주어지므로 long 타입으로 처리해야 합니다.문자열로 변환 후 역순 처리를 하면 구현이 간단해집니다.숫자를 문자로 바꾸면 '0' 문자를 빼주기 위해 - '0' 연산이 필요합니다.🛠️ 3. 슈도코드 (의사코드)1. n을 문자열로 변환2. 문자열을 뒤집기3. 각 문자를 하나씩 꺼내 정수로 변환해 배열에 담기4. 배열 리턴💡 4. 코드 + 주석class Solution { public int[] solution(long n) { // 1. long →..

[프로그래머스 JAVA] 삼각 달팽이

문제 링크 바로가기1. 문제 핵심 요약주어진 정수 n에 대해, 밑변과 높이가 n인 삼각형을 생각하고, 맨 위 꼭짓점부터 반시계 방향으로 달팽이처럼 숫자를 채워나가야 합니다. 채운 결과를 첫 번째 행부터 순서대로 한 줄 배열로 합친 결과를 구하는 문제입니다.예시n 값결과 배열4[1,2,9,3,10,8,4,5,6,7]5[1,2,12,3,13,11,4,14,15,10,5,6,7,8,9]2. 주의사항n은 최대 1000까지 주어질 수 있습니다. (n=1000이면 최대 1,000,000개의 숫자)삼각형 형태로 채워야 하므로 (i, j)에서 j 인 영역만 사용해야 합니다.방향 전환은 3단계(아래→오른쪽→대각선 위 왼쪽)를 순서대로 반복합니다.초기 위치 설정을 조심해야 합니다: (0,0)부터가 아니라 (y=-1,..

[프로그래머스 JAVA] 교점에 별 만들기

문제 링크 바로가기 🔗1. 문제 핵심 요약이 문제는 다음과 같습니다:여러 직선이 주어질 때, 직선끼리의 교점을 찾습니다.교점 중에서 x와 y 모두 정수인 교점만 골라야 합니다.골라낸 교점을 좌표 평면에 별(*)로 표시합니다.단, 별이 모두 포함되는 최소한의 사각형만 그려야 합니다.결국, 핵심은 두 가지입니다:정수 좌표인 교점만 정확히 찾아야 한다.작은 크기의 2차원 배열 안에 별을 배치해야 한다.2. 주의 사항 정리이 문제는 단순히 교점만 찾는 게 아니라, 꼭 주의해야 할 사항이 있습니다.항목설명오버플로우직선 계수(A, B, C) 값이 최대 100,000이라 곱셈하면 100억이 나옴. int의 최대 범위는 약 21억이므로 int로 계산하면 오버플로우 발생 가능. long 사용 필수정수 좌표 체크교점 x..

728x90
반응형