본문 바로가기

전체글61

1309 - 동물원 https://www.acmicpc.net/problem/1309 1309번: 동물원 첫째 줄에 우리의 크기 N(1≤N≤100,000)이 주어진다. www.acmicpc.net [문제 요약] 동물원에 가로로 두칸 세로로 N칸인 우리가 존재한다. 이 동물원에는 사자들이 살고 있다. 사자들을 조건에 맞게 우리에 배치하자. [조건] 사자들은 가로나 세로로 붙어 있게 배치할 수 없다. [문제 풀이] 사자들은 가로나 세로로 붙어 있게 배치할 수 없기 때문에 대각선으로 배치되거나 옆에 배치되지 않는 방식으로 우리가 구성되어야 합니다. 저는 다이나믹 프로그래밍 방법으로 문제를 해결하였습니다. 1. 사자는 하나의 줄로 존재할 수 없다. 따라서 왼쪽에만 존재하거나, 오른쪽에만 존재하거나 해당 줄에 한마리도 존재하지 않는.. 2023. 2. 24.
호텔 대실 https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제] 요약 입력으로 들어오는 예약이 겹치지 않도록 잘 조율해서 배치한다. 이렇게 배치 했을때 최소로 배치할 수 있는 방 갯수를 반환한다. 본인은 이렇게 해결했습니다. 1. 입력된 예약 배열의 자료형을 String에서 시간 객체로 변환하여 다시 저장한다. 2. 탐욕법을 사용해서 해결하기 위해 최소시간 기준으로 정렬하여 탐색이 효율적으로 동작하게 한다. 3. 예약을 하나씩 확인하며 현재 예약시간.. 2023. 2. 22.
두 수의 차 class Solution { public int solution(int num1, int num2) { return num1-num2; } } 간단한 문제로 num1의 값에서 num2의 값을 뺄셈한 값을 반환하면 된다. 2023. 2. 21.
오픈 채팅방 [문제 설명] 실제 카카오톡 오픈 채팅창과같이 입장한 프로필과 이름을 변경한 프로필, 그리고 채팅창을 나간 프로필을 저장하여 그것을 시간 순으로 출력하면 되는 문제이다. [코드] def solution(record): answer = []; name = {} for friend in record: if (friend.split(' ')[0] == 'Enter') or (friend.split(' ')[0] == 'Change'): name[friend.split(' ')[1]] = friend.split(' ')[2] for friend in record: if friend.split(' ')[0] == 'Enter': answer.append(f"{name[friend.split(' ')[1]]}님이 .. 2021. 10. 26.
반응형