본문 바로가기

개발자 취업

[백준] 1715 카드 정렬하기 java 쉬운 풀이 ^^ + 자주 실수하는 반례 1. 문제 설명 📌문제 링크이번 문제도 조건이 직관적이어서 추가적인 설명 생략2. 접근 방식 🗃️KEY WORD: Greedy AlgorithmGreedy 알고리즘은 매 선택의 순간에 최선의 선택을 해나가는 것이 전체 문제에서 봤을 때도 최선이라고 가정하는 알고리즘이다. 해당 문제도 최소한의 비교를 위해서는 매번 카드 수가 적은 묶음을 2개 골라서 합치면서 나아가야 한다. 그렇기에 Greedy 알고리즘을 활용해야 한다. 여기서 주의해야할 점은 합친 카드 뭉치보다 카드 수가 더 작은 기존 카드 뭉치가 2개 이상 존재할 수 있다는 것이다. 이러한 경우가 문제의 예제에는 안 나와 있어서 간과하기 쉽다. 예를 들어보자.N = 6이고 각 카드 묶음의 카드 수는 [10, 15, 17, 19, 24, 25]라고 .. 더보기
[백준] 11047 실버4 동전0 java 풀이 1. 문제 설명 📌문제 링크설명이 직관적이라 추가 설명 생략2. 접근 방식 🗃️KEY WORD: Greedy Algorithm동전 수가 무한하기 때문에 Greedy 알고리즘을 적용하면 된다. Greedy 알고리즘은 매 순간 최적의 선택을 하는 것이다. 여기서 최적의 선택은 가능한한 큰 단위의 동전을 사용하여 동전 개수를 줄이는 것이다. 따라서 내림차순으로 동전 단위를 하나씩 훑으며, K원을 최대한 큰 단위의 동전으로 차감한다.내림차순으로 동전 조회만약 현재 조회 중인 동전으로 K원을 나눌 수 있다면? 나눈 몫만큼 동전을 사용 가능한 것임으로 몫을 답에 누적시킴K원은 (해당 동전의 단위 x 몫) 만큼 차감되었으므로, 나머지만큼만 남아있는 것이다. 따라서 K = K%단위로 갱신한다.1,2,3번을 K ==.. 더보기
Greedy 알고리즘 개념 설명 (java) 1. 그리디 알고리즘은 무엇인가요? 💡Greedy Algorithm은 매 선택의 순간마다 당시에 고를 수 있는 최선의 선택지를 골라가는 것이 전체에서 봤을 때 최선의 선택이라고 가정하는 알고리즘이다.예를 들어 다음과 같은 문제가 있다고 해보자.현재 A의 시점에서 고를 수 있는 선택지 중 C가 최단거리이다. 그러므로 C를 선택한다.C 시점에서 고를 수 있는 선택지 중 최단 거리로 갈 수 있는 노드는 G이다. 따라서 G를 선택한다. 두번의 선택 후 무조건 F를 비용 0으로 갈 수 있다고 할 때, 전체 노드는 다음과 같다.매 순간 갈 수 있는 최선의 선택지를 골랐더니 전체에서 봤을 때도 최선의 선택이었다. 이와 같이 매 순간의 최선 = 전체의 최선 이 성립할 때, 이러한 논리를 Greedy 알고리즘이라 한다.. 더보기
[기업 분석] 농협 정보 시스템은 뭐하는 곳인가요? 1. 조사한 내용 📖농협정보시스템: 농협 중앙회 지분 100%의 자회사로, 농협 계열사 및 기타 고객사를 위한 시스템 개발 및 유지보수를 담당하는 SI 업체진행 중인 사업: 금융 서비스 개발: 은행업무(Core Banking(여,수신, 신탁 외환)에 대한 계정계 시스템 구축), 증권/선물 업무, 카드 업무, 보험 업무스마트 팩토리: 종합 물류 시스템, 유통 ERP 서비스, 유통 SCM 서비스기타: 스마트 카드, NH 농협 생명 신보험시스템 개발 등 2. 내용의 수치화, 인사이트 나누기📊수치화할 자료가 없음3. 추가 조사한 내용 📋유니온 커뮤니티와 함께 농협은행 임직원 업무 시 활용할 사용자 인증 체계 고도화 작업을 진행기존에 패스워드 및 인증서 방식으로 이루어지던 업무 통합 로그인을 얼굴인증을 포함.. 더보기
[프로그래머스] Lv1 동영상 재생기 1. 문제 설명 📌문제 링크동영상 재생기의 작동을 구현하는 간단한 문제이다.skip: 현재 user의 위치가 오프닝 구간 안이면, 오프닝이 끝나는 지점으로 JUMP 한다.next: 10초 뒤로 위치를 움직인다. 만약 남은 동영상 시간이 10초 미만이면 동영상의 마지막 위치로 간다.prev: 10초 앞으로 위치를 움직인다. 만약에 현 위치가 10초 미만인 상태에서 prev를 누르면 동영상 맨 처음 위치로 움직인다. (첫 위치 0분 0초)2. 접근 방식 🗃️KEY WORD: SIMULATION그냥 구현 문제이다. 한 가지 까다로운 것은 입력이 String으로 주어지고, 그것을 int로 변환해 작업을 수행해야 하는 점과 답변은 또 String 형태로 변환하여 해야하는 점이다.(1) 첫 번째 접근 방식: C.. 더보기
[프로그래머스] Lv2 석유 시추 Java 쉬운 풀이🥰 1. 문제 설명 📌문제 링크문제 내용이 직관적이기 때문에 부가 설명은 생략하겠다.2. 접근 방식 🗃️KEY WORD: BFSoils라는 1차원 배열을 만든다. 해당 배열의 index 는 land의 열이고, value는 열 당 얻을 수 있는 석유의 양이다.land 전체에 대해서 이중 반복문으로 석유(1)이 있는 위치를 찾는다만약 석유를 찾는다면 해당 위치부터해서 연결된 석유 덩어리를 BFS로 찾는다.BFS로 해당 위치에서 시작해 석유 덩어리를 모두 찾았으면, 지금까지 거친 적 있는 열에 지금까지 찾은 석유량을 더한다.(예를 들어, 열을 1,2,3 거쳤고, 찾은 석유량이 7이면 oils[1] += 7, oils[2] += 7, oils[3] += 7 이 된다.)3. 코드 소개 🔎먼저 전체 코드를 보여주.. 더보기
[프로그래머스] Lv2 막대와 그래프 접근 힌트부터 세세한 코드 분석까지! JAVA 1. 문제 설명 📌문제 링크문제에서는 다음 3가지 단방향 그래프를 제시하고 있다.도넛형은 순환형 그래프이고, 간선의 개수와 정점의 개수가 같다.막대형은 비순환형 그래프이고, 정점의 개수 - 간선의 개수 = 1 이다.팔자형은 순환형 그래프이고, 간선의 개수 - 정점의 개수= 1 이다.이러한 3가지 유형에 해당하는 그래프가 최소 2개 이상 주어진다. 이때 주어진 모든 그래프를 잇는 정점을 하나 그린다. 우리는 이번 문제 풀이에서 해당 정점을 뿌리 정점이라 부르겠다. (문제에서 마땅히 해당 정점을 지칭하는 용어가 없어서 임의로 명명하겠다.) 뿌리 정점을 부착한 예시는 다음과 같다.이때 뿌리정점의 번호, 도넛형 그래프의 수, 막대 그래프의 수, 팔자형 그래프의 수 를 순서대로 기록한 1차원 배열을 출력하면 된.. 더보기
[기업분석] 천재교육은 뭐하는 곳인가요? 1. 기사 설명 📖천재교육, 2024 에듀플러스위크 미래교육박람회 성료, 고도화된 교육용 AI 기술력 호평국내 대표 교육 IT 기업 천재교육이 미래 교육 박람회에 참여해, 자신들의 신기술을 접목한 교육 서비스, 교육 현장 지도 도움 서비스를 선보였고 큰 호응을 얻었다.2. 기사 내용의 수치화, 인사이트 나누기📊(1) 기업 소개국내 교과서 점유율 1위 기업 (97.1%의 학교가 채택)11억건의 문항 이력 데이터 기반으로 AI 맞춤형 콘텐츠 제작, 스마트폰, 태블릿PC에 콘텐츠 접목 등 디지털 기반 교육 혁신 선도 중 AI 센터 설립, 운영하는 등 지속적으로 투자함(2) 천재 교육이 선보인 AI 활용 신 서비스지니아튜터: 공교육 특화 AI 평가 분석 서비스➜ 수업 진도에 맞춘 차시별 진단, 형성, 단원 .. 더보기