
알고리즘 문제/백준 2023. 7. 15.
19532 수학은 비대면 강의입니다 (python)
19543 수학은 비대면 강의입니다 문제 🌐 수현이는 4차 산업혁명 시대에 살고 있는 중학생이다. 코로나 19로 인해, 수현이는 버추얼 학교로 버추얼 출석해 버추얼 강의를 듣고 있다. 수현이의 버추얼 선생님은 문자가 2개인 연립방정식을 해결하는 방법에 대해 강의하고, 다음과 같은 문제를 숙제로 냈다. 다음 연립방정식에서 x와 y의 값을 구하시오. ax + by = c dx + ey = f 4차 산업혁명 시대에 숙제나 하고 앉아있는 것보다 버추얼 친구들을 만나러 가는 게 더 가치있는 일이라고 생각했던 수현이는 이런 연립방정식을 풀 시간이 없었다. 다행히도, 버추얼 강의의 숙제 제출은 인터넷 창의 빈 칸에 수들을 입력하는 식이다. 각 칸에는 −999 이상 999 이하의 정수만 입력할 수 있다. 수현이가 버추..

알고리즘 문제/백준 2023. 7. 14.
10988 팰린드롬인지 확인하기 (python)
10988 팰린드롬인지 확인하기 문제 🌐 알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 이 단어가 팰린드롬인지 아닌지 확인하는 프로그램을 작성하시오. 팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다. level, noon은 팰린드롬이고, beakjoon, online, judge는 팰린드롬이 아니다. 입력 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. 출력 첫째 줄에 팰린드롬이면 1, 아니면 0을 출력한다. 예제 입력 1 level 예제 출력 1 1 접근 방법 입력받은 숫자가 홀수인지, 짝수인지 먼저 판별해야 할까? 라고 생각했다. 하지만 글자의 길이가 홀수일 경우 가운데에 위치한 문자는 굳이 확인하지..

알고리즘 문제/백준 2023. 7. 13.
11866 요세푸스 문제 (python)
11866 요세푸스 문제 문제 🌐 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아 있고, 양의 정수 K (≤N) 가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K) - 요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K까 빈칸을 사이에 두고 순서대로 주어진다. (1≤K≤N≤1,000) 출력 예제와 같이 요세푸스 순열을 출력한다. 예제 입력 7 3 예제 출력 접근 방법 ..

개발 일기/SSAFY 10th 2023. 7. 4.
삼성 청년 소프트웨어 아카데미 SSAFY 10기 합격과 교육 시작
이번 주부터 SSAFY 10기에 입과하게 되었다. 앞으로 마음을 다잡기 위해 선발 과정을 회고해 보자. 처음엔 전공자로 지원할 수 있을 줄 알았지만, 학부 전공이 전기전자, 그러니까 하드웨어 쪽이었기 때문에 자동으로 비전공자로 분류되었다. 엘리스 1차 프로젝트가 끝나고 쉬는 기간 동안 지원서를 후다닥 작성하고, 시험 날짜를 기다렸다.... 선발 과정은 크게 2개 단계로 분류되는데, SW적성진단과 Essay 전형, 면접 전형이다. 사실 취준 초창기에 아무 생각 없이 지원한 적 있는데, 어느 정도 준비가 된 상태에서 뭘 하는지 알고 나니 결과가 다르긴 하네.... SW적성진단 SW적성진단은 진단 날짜와 시간을 개인적으로 부여받고 그 시간에 맞춰 접속하여 70분 정도 시험을 보면 된다. 수리/추리 문제 15문..

개발 일기/ELICE AI 7th 2023. 7. 3.
엘리스 AI트랙 7기 2차 프로젝트: 채식 장려 커뮤니티 <오채완> (1)
엘리스 AI트랙 7기 2차 프로젝트: 채식 장려 커뮤니티 기획 2023/05/29~2023/06/02 개발 2023/06/03~2023/06/17 프로젝트가 끝나고 꽤 긴 시간이 지났다... 프론트엔드 전반에 걸쳐 손을 안 거친 부분이 없어 어떻게 써야 할지 고민만 하다가 2주가 지나 버렸다. (엄청 지난 줄 알았는데 생각보다 양호함) 미루고 미루다가 서버 이슈로 이전에 발표용/소장용으로 남긴 캡처들로 대신해야 한다.... 일단 서비스 개요와 페이지 구성 정도만 업로드하고, 기술적 구현 부분은 차근차근 올려 보겠다. 분석한 데이터를 바탕으로 인사이트를 얻어 서비스를 구상하고, 이것을 직접 웹사이트에 구현해 보았다. 이전 프로젝트에서 구현했던 것들이 대부분이라 큰 어려움 없이 만들 수 있었지만, 댓글에 답..
Computer Science/정보처리기사 & 전산 필기 2023. 7. 3.
정보처리기사 2021 3회 오답
14/14/11/8/9 56 1과목 소프트웨어 설계 4 추상화 기법 - 소프트웨어 설계 추상화(Abstraction) 문제의 전체적이고 포괄적인 개념을 설계한 후 차례로 세분화하여 구체화시켜 나가는 것 제어 추상화: 제어의 정확한 매커니즘을 정의하지 않고 원하는 효과를 정하는 데 이용하는 방법 기능 추상화: 입력 자료를 출력 자료로 변환하는 과정을 추상화하는 방법 자료 추상화: 자료와 자료에 적용될 수 있는 기능을 함께 정의함으로써 자료 객체를 구성하는 방법 과정 추상화: 자세한 수행 과정을 정의하지 않고 전반적인 흐름만 파악할 수 있게 설계하는 방법 데이터 추상화: 데이터의 세부적인 속성이나 용도를 정의하지 않고, 데이터 구조를 대표할 수 있는 표현으로 대체하는 방법 7 요구 분석(Requirement..

알고리즘 문제/프로그래머스 2023. 6. 29.
(프로그래머스 Lv.2) 타겟 넘버 (python)
(Lv.2) 타겟 넘버 문제 🌐 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return하도록 solution 함수를 작성해주세요. 제한사항 주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫자는 1 이상 50 이하인 자연수입니다. 타겟 넘..
Computer Science/정보처리기사 & 전산 필기 2023. 6. 28.
정보처리기사 2022 1회 오답
11/11/12/9/12 55 1과목 소프트웨어 설계 3 소프트웨어 설계 시 요구사항 분석 요구사항 개발 프로세스 도출 → 분석 → 명세 → 확인 5 하향식 설계 방법 vs 상향식 설계 방법 하향식 통합 테스트 (Top Down Integration Test) 깊이 우선 통합법, 넓이 우선 통합법 사용 테스트 초기부터 사용자에게 시스템 구조 보여 줄 수 있다 상위 모듈에는 tc를 사용하기 어렵다 상위 모듈에서 하위 모듈 방향으로 통합면서 테스트하는 기법 절차 주요 제어 모듈은 작성된 프로그램을 사용하고, 주요 제어 모듈의 종속 모듈들은 스텁(stub)으로 대체한다 깊이 우선 or 넓이 우선 등의 통합 방식에 따라 하위 모듈인 스텁들이 한 번에 하나씩 실제 모듈로 교체된다 모듈이 통합될 때마다 테스트 실시..

알고리즘 문제/프로그래머스 2023. 6. 27.
(프로그래머스 Lv.2) 구명보트 (python)
(Lv.2) 구명보트 문제 🌐 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다. 구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다. 사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 solution ..
Computer Science/정보처리기사 & 전산 필기 2023. 6. 23.
정보처리기사 2022 2회 오답
13/9/11/11/10 54 1과목 소프트웨어 설계 02 메시지 지향 미들웨어 (Message-Oriented Middleware, MOM) 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어 온라인 업무보다는 이기종 분산 데이터 시스템의 데이터 동기를 위해 많이 사용 즉각적인 응답을 원하는 경우가 아니라 다소 느리고 안정적인 응답을 필요로하는 경우에 많이 사용 독립적인 애플리케이션을 하나의 시스템으로 묶기 위한 역할 송신측과 수신측의 연결 시 메시지 큐를 활용하는 방법이 있다 상이한 애플리케이션 간 통신을 비동기 방식으로 지원 03 익스트림 프로그래밍 소규모 개발 조직이 불확실하고 변경이 많은 요구를 접하였을 때 적절한 방법 익스트림 프로그래밍을 구동시키는 원리는 상식적인 원리와 경험을 최대한 ..

알고리즘 문제/프로그래머스 2023. 5. 22.
(프로그래머스 Lv.2) 전력망을 둘로 나누기 (python)
(Lv.2) 전력망을 둘로 나누기 문제 🌐 n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있습니다. 당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다. 이때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추고자 합니다. 송전탑의 개수 n, 그리고 전선 정보 wires가 매개변수로 주어집니다. 전선들 중 하나를 끊어서 송전탑 개수가 가능한 비슷하도록 두 전력망으로 나누었을 때, 두 전력망이 가지고 있는 송전탑 개수의 차이(절대값)을 return하도록 solution 함수를 완성해주세요. 제한사항 n은 2 이상 100 이하인 자연수입니다. wires는 길이가 n-1인 정수형 2차원 배열입니다. wires의 각 원소는 [v1, v2] 2개의 자연수로 ..

알고리즘 문제/프로그래머스 2023. 5. 22.
(프로그래머스 Lv.1) 모의고사 (python)
(Lv.1) 모의고사 문제 🌐 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에서 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, … 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, … 3번: 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, .. 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution ..

개발 일기/ELICE AI 7th 2023. 5. 18.
엘리스 AI트랙 7기 1차 프로젝트: 포트폴리오 공유 웹 서비스 <백투더퓨처>
엘리스 AI트랙 7기 1차 프로젝트: 포트폴리오 공유 웹 서비스 2023/04/24~2023/05/06 개발자 연습생으로서 첫 번째 프로젝트가 끝났다. 프로젝트 시작 직전엔 취업 준비를 병행한답시고 시간을 100% 투자하지 못했어서 강의 진도를 따라가는 것에 급급한 상태였다. 게다가 바로 직전 주말에는 회사 필기와 기사 실기 시험을 봤는데, 일요일 첫 미팅을 마칠 때까지 ‘나만 진도 못 따라잡아서 민폐가 되면 어떡하지…’ 라는 생각만 들었다. 집중할 수 있는 마음가짐을 갖기 위해서 프로젝트와 이후의 엘리스 과정에 신경을 완전히 쏟아야겠다고 다짐했다. 일요일 시험을 보고 나오면서 집에 전화를 걸어 수료 전까지는 1순위 회사들을 제외한 곳들은 지원하지 않고 개발 공부에 집중하겠다고 얘기했다. 지키고 있는진 ..
자료구조 2023. 5. 17.
데이터구조 힙(Heap) python
Heap 힙은 특정한 규칙을 갖는 자료구조로, 최대값과 최소값을 찾는 연산을 빠르게 하기 위해 고안된 완전 이진 트리를 기본으로 한다. 언젠가 수업 들으면서 이중 트리에 대해 배운 것 같은데 기억이 휘발되었다…. 아마 가지치기 형태로 데이터를 구성한 다음 두 개씩 값을 비교하여 순서를 바꾸는 거였나…. Heap의 좋은 점은 따로 정렬하지 않아도 가장 큰 값과 작은 값을 알아서 찾아준다는 것이다. 자식 노드의 최대 개수는 힙의 종류에 따라 다르지만 이진트리에서는 최대 2개로 한정한다. 최대 힙 (max heap)key(T.parent(v))≥key(v) 각 노드의 키 값이 그 자식 노드의 키 값보다 작지 않은 힙 최소 힙 (min heap)ket(T.parent(v))≤key(v) 각 노드의 키 값이 그 ..

알고리즘 문제/프로그래머스 2023. 5. 17.
(프로그래머스 Lv.2) H-index (python)
(Lv.2) H-index 문제 🌐 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요. 제한사항 과학자가 발표한 논문의 수는 1편 이상 1,000편 이하입니다. 논문별 인용 횟수는 0회 이상 10,000회 이하입니다. 입력 [3..

알고리즘 문제/프로그래머스 2023. 5. 17.
(프로그래머스 Lv.2) 더 맵게 (python)
(Lv.2) 더 맵게 문제 🌐 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한사항 scoville의 길이는 2 이상 1,000,000 이하입니다. K는 ..

알고리즘 문제/프로그래머스 2023. 5. 15.
(프로그래머스 Lv.1) 같은 숫자는 싫어 (python)
(Lv.1) 같은 숫자는 싫어 문제 🌐 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한사항 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 원..

알고리즘 문제/프로그래머스 2023. 5. 11.
(프로그래머스 Lv.1) 폰켓몬 (python)
(Lv.1) 폰켓몬 문제 🌐 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번), 세 번째(2번)..

알고리즘 문제/백준 2023. 4. 23.
17204 죽음의 게임 (python)
17204 죽음의 게임 문제 🌐 중앙대학교 소프트웨어대학 새내기들을 맞이하게 된 17학번 김영기는 두 학번이라는 차이를 극복하기 위해 새내기들과 친해지려고 노력하고 있다. 그 노력 중 하나는 바로 새내기들과의 술자리에 참여하는 것이다. 그러나 혼자 가기에 민망했던 영기는 동기 보성이를 꼬셔 같이 술자리에 참석했다. 새내기들과 같이 술을 마시게 된 영기와 보성이는 분위기가 가라앉을 때쯤 The Game of Death라고 불리는 죽음의 술게임을 제안한다. 죽음의 게임의 룰은 간단하다. 게임에 참여하는 N명의 사람들은 원탁에 둘러앉게 된다. 게임을 시작하는 사람은 0번, 그 오른쪽 사람은 1번, 그 오른쪽은 2번, N-1 번의 오른쪽 사람은 다시 0번이 된다. 0번이 “신난다! 아싸 재미난다! 아싸 더 게임..

알고리즘 문제/백준 2023. 4. 20.
1436 영화감독 숌 (python)
1426 영화감독 숌 문제 🌐 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이 이름을 지었고, 피터 잭슨은 반지의 제왕을 만들 때, 반지의 제왕 1, 반지의 제왕 2, 반지의 제왕 3과 같이 영화 제목을 지었다. 하지만 숌은 자신이 조지 루카스와 피터 잭슨을 뛰어넘는다는 것을 보여주기 위해서 영화 제목을 좀 다르게 만들기로 했다. 종말의 수란 어떤 수에 6이 적어도 3개 이상 연속으로 들어가는 수를 말한다. 제일 작은 종말의 수는 666이고, 그 다음으로 ..

알고리즘 문제/백준 2023. 4. 18.
2798 블랙잭 (python)
2798 블랙잭 문제 🌐 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 외친다. 이제 플레이어는 제한된 시간 안에 N장의 카드 중에서 3장의 카드를 골라야 한다. 블랙잭 변형 게임이기 때문에, 플레이어가 고른 카드의 합은 M을 넘지 않으면서 M과 최대한 가깝게 만들어야 한다. N장의 카드에 써져 있는 숫..

알고리즘 문제/백준 2023. 4. 17.
2231 분해합 (python)
(2231) 분해합 문제 🌐 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256 (=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다. 접근 방법 문제 자체는 어렵지 않았는데 이해하려고 몇 번을 읽었는지..
자료구조 2023. 4. 7.
데이터 구조 큐(Queue) python
드디어 큐(NOT TBZ)와 데이터 구조 공부를 제대로 해 본다.... 학교 다닐 때 공부 좀 할걸.... Queue 선입선출(First In First Out) 기반의 자료 구조 데이터를 추가한 순서대로 제거할 수 있음 활용 - 비동기 메세징 (asynchronous messaging) - 스트리밍 (streaming) - 너비 우선 탐색(breath first search) 구현 방법 1. List queue = [1, 2, 3] queue.append(4) queue.append(5) print(queue) # [1, 2, 3, 4, 5] queue.pop(0) # 1 queue.pop(0) # 2 print(queue) # [3, 4, 5] - .append 뒤에서 데이터 추가 - .pop(0) ..
알고리즘 문제/AI & 알고리즘 스터디 2023. 3. 29.
Greedy Algorithm - 컴퓨터 배정
Greedy Algorithm - 컴퓨터 배정 문제 컴퓨터를 쓸 학생 수, 각각의 학생이 컴퓨터를 쓰는 시간을 [시작 시간, 종료 시간]을 순서대로 배열에 받아온다. # 학생 수 = 5 times = [[1, 4], [2, 3], [5, 9], [4, 10], [3, 7]] 컴퓨터를 최소 몇 대를 구매해야 모든 학생이 컴퓨터를 사용할 수 있을까? 접근 방법 앞의 실습 강아지 밥그릇 문제에서 result가 배열로 선언되어 있었다는 것에서 아이디어 얻음!! 배열 안의 공간 = 컴퓨터 라고 생각하고 각각의 사용 완료 시간을 표시하는 방식으로 풀 생각~! 일단, 가장 효율적으로 사용하기 위해서는, 끝나는 시간이 가장 이른 사람부터 컴퓨터를 사용해야 하므로 배열을 정렬할 때, 우선순위를 끝나는 시간 > 시작하는 ..

알고리즘 문제/백준 2023. 3. 29.
2839 설탕 배달 (python)
(2839) 설탕 배달 문제 🌐 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 사탕을 정확하게 N 킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (3≤N≤5000) 출력 상근이가 배달하는 봉지의 최소 개수를..
Web Front/Javascript 2023. 3. 7.
JavaScript 기초 - 변수, Datatype
JavaScript 란? 웹페이지의 기능을 구현할 수 있도록 하는 스크립팅/프로그래밍 언어로, HTML, CSS와 함께 사용하여 풍성하고 동적인 웹을 구현할 수 있음 웹페이지에서 활용법 HTML에서 index.js 의 JavaScript 파일 연동 JavaScript 의 변수 변수란 데이터를 담는 공간으로서 선언하기 위해 const, var, let 의 세 가지 중 하나를 사용해서 선언 처음 선언할 때만 세 가지 키워드를 사용하면 되고, 변경할 때는 변수 이름과 변경할 값만 선언해 주면 됨 하지만 const 는 상수이므로 값을 변경할 수 없음 const fruit; var apple; let grapes; console.log(fruit); 저장된 값을 확인하고 싶을 때 console.log(변수); 사..
