본문 바로가기

분류 전체보기

(44)
[프로그래머스](파이썬)-게임아이템-Level3-힙(heap)사용 문제 안녕하세요. 진또배기입니다. 오늘은 프로그래머스의 게임아이템 문제를 풀어보겠습니다. 이 문제는 사실 그냥 List로도 풀 수 있는 문제입니다. 하지만 List를 사용하면 시간복잡도가 증가해 비효율적인 알고리즘입니다. 따라서 제목에 나타낸 것처럼 heap이라는 자료구조를 사용해야 되는데요. 이러한 문제는 응시자가 효율성에 대한 개념이 있는 지 확인하는 문제입니다. 따라서 효율성을 검증하는 문제를 통해 여러분이 기존 방법대로 풀지 않는, 창의적인 지원자라는 것을 어필합시다! 그러면 시작하겠습니다. 1. 문제소개 2. 슈도코드 제가 처음 시도한 방식: 모든 캐릭터의 체력을 리스트에 담고, 배정가능한 아이템을 모두 찾은 후, 모든 배정 가능한 경우의 수를 리스트에 담은 뒤, 가장 높은 공격력을 뽑는다. 즉, 1..
DB 면접준비-기초(Oracle, Mysql) 보호되어 있는 글입니다.
프로그래밍 대답준비-심화편 안녕하세요. 진또배기입니다. 오늘은 저번에 이어서 50초의 프로그래밍 대답준비 심화편입니다. 기본편은 못보고 오신 분들을 위해 링크를 올려둘테니 이번 개념이 너무 어렵다하신분들은 기본편을 방문해주세요. 0. 프로그래밍 대답준비-기본편 410leehs.tistory.com/7?category=855622 Java 개발자 면접 준비-기본편 안녕하세요. IT린이입니다. 오늘은 Java 개발자 면접 준비 기본 답변에 대해 준비하는 시간을 가지겠습니다. 질문 한 가지가 나오면 그와 관계되어 있는 꼬리질문까지 준비해 여러분의 시각을 넓 410leehs.tistory.com 1. jdbc가 무엇인가요? 자바에서 데이터베이스를 접속할 수 있도록 해주는 자바 API입니다. JDBC는데이터베이스에서 자료를 쿼리하거나 업데..
[프로그래머스](파이썬)-이중 우선순위큐-Level2.5-힙,큐 문제 안녕하세요. 진또배기입니다. 오늘은 프로그래머스의 이중 우선순위큐 문제를 풀어보도록 하겠습니다. 음 제 생각에는 이런 문제는 복잡한 알고리즘은 쓰이지 않지만 다양한 스킬들과 2가지의 자료구조가 쓰이기때문에 2.5레벨의 문제라고 생각합니다. 이 정도 난이도의 문제는 현재 한국 대기업에서 가장 어려운 코딩테스트 문제에요. 물론 Level4, Level5의 문제도 있지만 거기까지는 나오지 않는 것 같습니다. (네이버, 카카오, 구글, AWS 등 자체 IT서비스 기업제외-여긴 더 어려운 문제나옴..ㅋㅋ) 그러면 시작하겠습니다! 1. 문제 소개 문제 설명 급한 일을 먼저 처리해주는 서버가 있습니다. 이 서버에 3초에 한 번씩 요청이 들어온다고 할 때, 서버가 각 요청을 처리하는 순서를 알아보려 합니다. 요청은 [..
[프로그래머스]-(파이썬)더맵게-Level2 보호되어 있는 글입니다.
교착상태에 대한 재미있는 이야기(Feat. 마지노선) 안녕하세요. 진또배기입니다. 오늘은 운영체제에서 볼 수 있는 교착상태에 대해 지루하지 않게 재미있는 썰을 준비해보았습니다. 교착상태에 대한 개념과 조건 해결방법은 다음에 포스팅하도록 하겠습니다. 0. 교착상태에 대한 SSUL (+마지노선 기원까지) 교착상태는 PC용어로 많이 쓰이지만 정치적, 군사적, 경제적용어이기도 합니다. 제가 좀 아재같지만 사실 세계사에 관심이 많습니다..ㅎㅎ 그래서 세계사 책을 읽다가 교착상태라는 용어가 만들어진 역사를 알 수 있었습니다. 교착상태 용어의 기원은 제 세계 1차대전으로 내려갑니다. 세계 1차대전은 1914년부터 1918년까지 유럽을 중심으로 한 전쟁인데요. 1914년 9월 마른전투에서 프랑스 서부지역인 서부전선을 사이에 두고 영국군+프랑스군과 독일군이 대치해 참호전을..
[프로그래머스](파이썬)나머지한점-Level2-2가지 방법 문제풀이 안녕하세요.진또배기입니다. 오늘은 프로그래머스에 올라와있는 '나머지 한점'문제를 파이썬을 사용해 2가지 방법으로 풀이를 해보겠습니다. 한 가지는 해시를 이용한 방법, 다른 한 가지는 Counter를 이용한 방법입니다. 1. 문제 소개 문제 설명 선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다. 예를 들어 선행 스킬 순서가 라이트닝 볼트 → 스파크 → 썬더일때, 썬더를 배우려면 먼저 스파크를 배워야 하고, 스파크를 배우려면 먼저 라이트닝 볼트를 배워야 합니다. 위 순서에 없는 다른 스킬(힐링 등)은 순서에 상관없이 배울 수 있습니다. 따라서 라이트닝 볼트 → 힐링 → 스파크 → 썬더와 같은 스킬트리는 가능하지만, 썬더 → 스파크나 라이트닝 볼트 → 힐링 → 썬더 → 스파크와 같은 ..
[프로그래머스](파이썬)스킬트리2-Level3-큐(Queue), 해시(dict)사용 안녕하세요. 진또배기입니다. 오늘은 파이썬을 사용해 프로그래머스에 올라와있는 '스킬트리2'문제를 이전에 포스팅한 것과 다른 방법으로 풀어보도록 하겠습니다. 1. 문제 소개 문제 링크: programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr 2. 슈도코드 스킬의 습득 순서를 저장할 필요가 있을 것 같아 enumerate() 함수를 이용해 인덱스와 스킬 페어로 저장했습니다. 이후 skill_tree의 각 skill에 대해 순회하며 인덱스를 비교하도록 구현했습니다 시간복잡도: 선행스킬 순서 배열(skills_order)의 길이 n과 스킬트리 배열(skill_tree)의 길이 m에 대해 O(n+m) 3. 문제풀이
[프로그래머스](파이썬) 스킬트리-Level2-문자열 안녕하세요. 진또배기입니다. 오늘은 파이썬을 사용해 프로그래머스에 올라와있는 '스킬트리'문제를 풀어보도록 하겠습니다. 1. 문제 소개 문제링크 : programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr 선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다. 예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다. 위 순서에 없는 다른 스킬(힐링 등)은 순서에 상관없이 배울 수 있습니다. 따라서 스파크 → 힐링 → 라이트닝 볼트 → 썬더와 같은 스킬트리는 가능하지만, 썬더 → 스..
프로그래밍 대답준비-기본편 안녕하세요. 진또배기입니다. 오늘은 프로그래밍 대답준비 기본 답변에 대해 준비하는 시간을 가지겠습니다. 질문 한 가지가 나오면 그와 관계되어 있는 꼬리질문까지 준비해 여러분의 시각을 넓히고자 포스팅하게 되었습니다. 한 가지 개념만 아는 것을 지양하고 한 개념으로부터 파생되는 더 깊은, 더 넓은 개념을 가져가시길 바랍니다! 제가 경험해본 바로는 'OO의 개념에 대해 설명해주세요'보다는 'OO과 OO의 차이점을 비교설명해주세요.'나 'OO의 장점과 단점은 어떤 것이 있나요?'또는 '~~을 하는(쓰는) 이유는 무엇인가요?와 같은 질문을 많이 받았기 때문에 이에 대한 답변을 준비했습니다. 매우 기본적인 50초의 답변으로 프로그래밍에 대해 좀 아신다하는 분들은 심화편에서 뵙겠습니다. 그럼 시작하겠습니다. 1. 객..