전체 글

🗂️ 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 접근법 return되는 값의 행과 열을 곱하면 brown+yellow가 된다. 따라서 행과 열의 값은 brown+yellow를 소인수분해한 값이다. 따라서 두 개의 수로 이루어지도록 소인수 분해를 수행하고 그 쌍들을 prime_list에 저장한다. 이후 소인수분해 쌍을 for문으로 돌면서 brown과 yellow 개수를 만족하는 조건에 해당하는 소인수가 answer이 된다. ..
· Courses/Java
본 게시글은 김영한 강사님의 [김영한의 실전 자바 - 기본편]을 수강하며 작성한 글입니다. 01. 클래스가 필요한 이유1. ClassStart1 - 변수 사용package class1;public class ClassStart1 { public static void main(String[] args) { String student1Name = "학생1"; int student1Age = 15; int student1Grade = 90; String student2Name = "학생2"; int student2Age = 16; int student2Grade = 80; System.out.println("이름:" ..
🗂️ 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 접근법 학생 수는 3명이고, 각각의 학생이 찍는 답은 일정한 주기로 반복하므로 한 주기에 대해서만 리스트를 생성한다. 이후 맞는 값의 개수를 저장하는 answer_cnt 딕셔너리를 선언한다. answer 값을 순회하면서 학생이 찍은 답과 같으면 cnt를 1 증가시킨다. 이후 값에 대해 딕셔너리를 내림차순 정렬한다. 내림차순으로 정렬되었기 때문에 0번 인덱스에 해당하는 키가 가..
🗂️ 문제 링크: https://www.acmicpc.net/problem/3986 3986번: 좋은 단어 이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에 www.acmicpc.net 💡 접근법 단어의 알파벳 하나하나를 스택의 마지막 요소와 비교한다. 이때 같을 경우 스택의 마지막 요소를 pop하고, 같지 않을 경우 알파벳을 스택에 append한다. 알파벳을 모두 순회하고 결과적으로 스택이 비어있다면 좋은 단어로 판단할 수 있다. 😎 내 코드 import sys N = int(sys.stdin.readline()) words = [] for _ in range(N): w..
🗂️ 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 접근법 numbers 리스트 내 값들의 자릿수를 3자리로 맞춘다. 자릿수를 맞출 때 부족한 자릿수만큼 첫 번째 자리에 해당하는 수로 채운다. 즉 numbers=[3, 30, 34, 5, 9] → numbers=[333, 303, 343, 555, 999]가 된다. 이를 정렬하면 numbers = [999, 555, 343, 333, 303]이다. 이것의 원래 값을 이어붙여서 ..
🗂️ 문제 링크: https://www.acmicpc.net/problem/1141 1141번: 접두사 접두사X 집합이란 집합의 어떤 한 단어가, 다른 단어의 접두어가 되지 않는 집합이다. 예를 들어, {hello}, {hello, goodbye, giant, hi}, 비어있는 집합은 모두 접두사X 집합이다. 하지만, {hello, hell}, {giant, www.acmicpc.net 💡 접근법 접두사X 집합이란 집합의 어떤 한 단어가 다른 단어의 접두어가 되지 않는 집합을 말한다. 즉 전체 집합에서 다른 단어의 접두어가 되는 단어들 제외한 단어들의 개수를 구하는 문제이다. 리스트를 정렬하고 각각의 요소를 순회하면서 현재 문자열이 다음 문자열에 접두어가 되는지 확인한다. 여기서 문자열을 정렬했기 때문에..
🗂️ 문제 링크: https://www.acmicpc.net/problem/2696 2696번: 중앙값 구하기 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 수열의 크기 M(1 ≤ M ≤ 9999, M은 홀수)이 주어지고, 그 다음 줄부터 이 수열의 원소가 차례대로 주 www.acmicpc.net 💡 접근법 가운데를 말해요 문제와 비슷한 문제이다. 즉, 최대 힙과 최소 힙을 생성하여 중앙값을 구하면 된다. leftHeap에는 중간값보다 같거나 작은 값들이 저장되고, rightHeap에는 중간값보다 큰 값들이 저장된다. leftHeap의 루트를 중간값으로 꺼낼 것이다. 이때 만약 수의 개수가 짝수 개라면 중간에 있는 두 수 중 작은 수를 말해야 ..
🗂️ 문제 링크: https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 💡 접근법 중간값을 뽑아내기 위해서 최대 힙(leftHeap)과 최소 힙(rightHeap), 총 2개의 힙을 사용한다. leftHeap에는 중간값보다 같거나 작은 값들이 저장되고, rightHeap에는 중간값보다 큰 값들이 저장된다. leftHeap의 루트를 중간값으로 꺼낼 것이다. 이때 만약 수의 개수가 짝수 개라면 중간에 있는 두 수 중 작은 수를 말해야 한..
jyjyjy25
기록하는 습관