본문 바로가기

구현20

[Python] 소프티어 : [인증평가(1차) 기출] 로봇이 지나간 경로 https://softeer.ai/practice/info.do?idx=1&eid=577&sw_prbl_sbms_sn=145221 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 💡 문제 풀이 구현 문제이다. 경로를 구하는 도중에 만약 다음 칸으로 진행할 수 없다면 왼쪽과 오른쪽을 확인해서 바로 경로를 찾게 했다. ✔️ 느낀 점 오랜만에 구현 문제를 푸는데 조금 아쉬웠다. 중복된 코드를 최대한 줄여보고 싶었는데 생각보다 많이 못 줄인 것 같다. 💻 코드 import sys input = sys.stdin.readline ORDER = ">v 2023. 2. 10.
[Python] 소프티어 : [21년 재직자 대회 예선] 좌석 관리 https://softeer.ai/practice/info.do?idx=1&eid=625 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 💡 문제 풀이 기본적인 구현 문제이다. 이 문제의 핵심은 필요한 좌석을 리턴하는 것이 가장 중요하다. 앉을 수 있는 자리(0)를 기준으로 현재 사원이 앉아있는 자리(2)와의 거리를 계산해서 전체 중에서 가장 안전도가 높은 좌석을 선택해야 한다. ✔️ 느낀 점 생각보다 훨씬 오래 걸린 문제이다. 메서드를 나눠서 작성해서 단계적으로는 잘 접근했지만 유효한 좌석을 찾아 리턴하는 메서드를 구현하는데 오래 걸렸다. 💻 코드 import sys input = sys.stdin.readline moves = [(1,0), (0,1), (-1,0).. 2023. 2. 9.
[Python] 구름 : [현대모비스] Dead or Arrive https://level.goorm.io/exam/152114/%ED%98%84%EB%8C%80%EB%AA%A8%EB%B9%84%EC%8A%A4-%EC%98%88%EC%84%A0-dead-or-arrive/quiz/1 구름LEVEL 코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이 level.goorm.io 💡 문제 풀이 우선순위 큐를 이용해서 해결했다. 딕셔너리 자료형이 key 값을 찾을 때 O(1)의 시간 복잡도를 가져서서 딕셔너리를 사용했다. 또한 최대한 시간복잡도를 줄이기 위해서 heapq를 사용했고 최대 힙으로 구현해서 찾아줬다.. 2022. 10. 13.
[Python] 프로그래머스 : [3차] 압축 https://school.programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 일반적인 구현 문제이다. 문제를 두 파트로 나누어 풀었다. dict에 있으면 정답에 append 하는 파트, dict에 없으면 dict에 append 하는 파트' 정답에 append 하는 파트에서는 현재 dict에 있는 최대 길이부터 문자열을 확인하고 해당 문자열이 있으면 정답 리스트에 담아준다. dict에 append 하는 파트에서는 리스트에 담아준 문자열을 가져와서 다음 문자열을.. 2022. 10. 6.
[Python] 프로그래머스 : [1차] 셔틀 버스 https://school.programmers.co.kr/learn/courses/30/lessons/17678 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 구현 문제이다. 조심해서 구현만 할 수 있으면 된다. 시간에 대한 처리를 위해서 "hour : minute"으로 나오는 시간을 분으로 바꿔주는 함수를 만들어 사용한다. 중요한 핵심은 다음과 같다. 마지막 버스에 탄 인원이 m명과 같다면 마지막에 온 사람보다 1분 빨리 오면 되고, 마지막 버스에 탄 인원이 m명과 다르다면 그냥 버스 막차시간에 맞춰서 오면 된다. 내 코드의 경우는 처음.. 2022. 10. 3.
[Python] 프로그래머스 : 다단계 칫솔 판매 https://school.programmers.co.kr/learn/courses/30/lessons/77486 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 기본적인 구현 문제이다. 설명은 엄청나게 되어있지만 결국 트리구조를 고려해서 구현하면 된다. seller의 길이가 10만이라서 일직선의 트리구조가 되는 최악의 경우를 따지면 시간이 부족할 수도 있다. 근데 문제에서 최대로 벌 수 있는 이윤은 10,000원이고 이윤의 10%를 상납해야 하는 구조라서 최대로 5번의 반복을 넘어가지 않는다. 따라서 그냥 구현해주면 된다. ✔️ 느낀 점 처.. 2022. 9. 29.