개발 이야기/알고리즘 및 코테 준비
-
[Softeer][21년 재직자 대회 예선] 좌석관리개발 이야기/알고리즘 및 코테 준비 2024. 9. 9. 20:24
Level 3가 되더니 확실히 난이도가 올라갔다. 푸는데 생각보다 많은 시간이 소요된 문제였다.다만 몇몇 아이디어들은 계속해서 사용되는 형식이라 중요한 문제이다.(상하좌우 확인)문제 https://softeer.ai/practice/6267 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai현대자동차그룹에서 사내 식당 매니저로 일하는 기항이는 점심 시간에 맞춰 일을 하고 있다. 오늘 일은 사람들이 사회적 거리두기를 잘 지키면서 식당 좌석에 앉도록 상황을 관리하는 일이다.현재 식당에는 좌석 N×M개가 N행 M열로 나열되어 있는데, 각 좌석에는 (1,1)에서 (N,M)로 좌표가 배정되어 있다. x행 y열에 있는 좌석의 좌표는 (x,y)이다.점심 시간에는 많은 사람들이 식당을 드나든다. 사번..
-
[Softeer][21년 재직자 예선] 회의실 예약개발 이야기/알고리즘 및 코테 준비 2024. 9. 9. 19:44
문제https://softeer.ai/practice/6266 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai회사에는 N개의 회의실이 있다. 수많은 팀이 모여 토론하고 업무를 처리하기 위해서는 회의실이 필수적이다.내부망에 아주 간단한 회의실 예약 시스템이 있지만 편의성이 매우 떨어진다. 단순히 예약된 회의의 목록만 표시되기 때문에, 방 별로 비어 있는 시간이 언제인지를 확인하기가 힘든 것이다. 당신은 이를 직접 해결해 보기로 마음 먹었다.회의실 이용 규칙은 다음과 같다:- 회의실은 9시부터 18시까지만 사용 가능하다. 모든 회의의 시간은 이 안에 완전히 포함되어야 한다.- 회의는 정확히 한 회의실을 연속한 일정 시간 동안만 점유한다. 즉 각 회의는 (회의실, 시작 시각, 종료 시각)..
-
[Softeer][21년 재직자 대회 예선] 전광판 문제개발 이야기/알고리즘 및 코테 준비 2024. 9. 4. 22:07
문제 전광판은 최대 다섯 자리의 자연수만을 표시할 수 있도록, 아래와 같이 육각형 모양의 전구 7×5=35개로 구성되어 있다.각각의 전구에는 스위치가 달려 있다. 전구에 달려 있는 스위치를 누를 때, 그 전구가 켜져 있었다면 꺼지고, 그 전구가 꺼져 있었다면 켜진다. 지금 전광판에 자연수 A가 표시되어 있는데, 유가가 변동됨에 따라 전광판에 표시된 자연수를 B로 바꿔야 한다. 이러한 목표를 달성하기 위해 스위치를 최소 몇 번 눌러야 하는지를 구하는 프로그램을 작성하라. 제약조건하나의 입력에서 1개 이상 1000개 이하의 테스트 케이스를 해결해야 한다.A와 B는 한 자리 이상 다섯 자리 이하의 자연수이다.A와 B는 숫자 0으로 시작하지 않는다.A와 B는 서로 다르다.입력형식첫 번째 줄에 해결할 테스트 케이..
-
[Softeer][21년 재직자 대회 예선] 비밀메뉴개발 이야기/알고리즘 및 코테 준비 2024. 9. 4. 11:13
문제 회사 식당에는 전설처럼 전해 내려오는 비밀 메뉴에 대한 소문이 있다.소문의 내용은 대강 이러하다.식권 자판기의 버튼을 특정 순서대로 누르고 결제를 하면, 평소와는 다른 색깔의 식권이 나온다. 이 식권을 배식대에 제출하면, 어떤 비밀 메뉴를 받을 수 있다는 것이다.물론 이를 실제로 본 사람은 아무도 없어서, 어떤 메뉴가 나오는지는 커녕 눌러야 하는 버튼의 순서조차 알려져 있지 않다.주방장인 당신은 이 소문의 실체를 알고 있다. 이는 분명한 사실이다!정해진 버튼 조작법을 사용하면 비밀 메뉴의 식권을 얻을 수 있다. 그러나 얼마 전 식권 자판기가 고장으로 교체되면서,새 자판기에서는 비밀 메뉴 조작법이 작동하지 않게 되었다.당신은 프로그래밍 실력을 살려, 사용자의 버튼 조작 중 비밀 메뉴 조작법이 포함되어..
-
[알고리즘 실습환경 구축] 알고리즘 튜토리얼 및 개요개발 이야기/알고리즘 및 코테 준비 2024. 9. 3. 19:47
오랜만에 글을 다시 작성..!했습니다 여름간에는 잠시 랩인턴을 하느냐고 관련 주제로 논문들을 읽고 정리했었는데 학기 중에는 전공수업들을 공부하면서 얻게된 지식 + 새롭게 알게된 내용들을 위주로 작성해보려고 합니다. 이번학기를 막학기로 졸업을 준비하기 위해 여러 밀렸던 강의들을 몰아서 듣게 되었는데..! 그 중 알고리즘 강의 + 알고리즘 문제풀이 실습 강의가 같이 있어서 관련하여 풀었던 문제와 가능하면 관련 개념도 정리하려고 합니다. 실습 과제 문제는 https://softeer.ai/ 에서 제공된 박희진 교수님의 컴퓨터소프트웨어캡스톤PBL 를 기반으로 작성되었습니다. 코드는 python 혹은 C로 작성하려고 합니다. 추가적으로아래의 링크를 통해 간단히 C 코드를 확인하고 실행해볼 수 있습니다. - D..
-
python 우선순위 que vs 힙 자료구조개발 이야기/알고리즘 및 코테 준비 2023. 1. 27. 08:59
https://github.com/zinhyeok/algorithm_study/tree/main/priority_que GitHub - zinhyeok/algorithm_study: 알고리즘 스터디 기록용 알고리즘 스터디 기록용 . Contribute to zinhyeok/algorithm_study development by creating an account on GitHub. github.com 문제 https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0..
-
Python Counter와 Counter 사용 문제(백준 2108, 최빈값 찾기)개발 이야기/알고리즘 및 코테 준비 2023. 1. 24. 10:31
문제 2108 최빈값 찾기 www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 해당 문제 중 최빈값(mode)를 구하는 문제는 python에서는 collection의 Counter를 사용하는 것이 편하다고 한다. (sort이후에 lst[i]==lst[i+1]로 풀라고하다가 계속 틀려서 counter를 이용했다..ㅎ) 대다수의 python으로 푼 최빈값 구하기 알로리즘에서 counter를 이용했기 때문에 간단히 이에 대해 정리하였다. 풀이는 바로 아래에 적어놓았다 풀이 mpor..
-
Python List 자료형 변경과 Sort개발 이야기/알고리즘 및 코테 준비 2023. 1. 20. 14:37
Original list의 자료형을 변경 original_lst = ["1", "2", "3"] lst = list(map(int, original_lst)) map을 사용해서 자료형을 변경하면 된다. 이때 map은 map object를 반환하기에 list로 다시 감싸주어야한다. map의 int에 해당하는 부분은 다른 함수로 변경 가능하다 List comprehension python의 장점을 살린 list 기능. list에서 내가 원하는 요소를 추출해서 새로운 list를 만들고 싶을 때 주로 사용한다. lst = [2,3,3,5,1,19] #newlist = [x for x in lst if ~] #짝수만 추출하기 new_lst = [x for x in lst if x%2==0] fillter내장함수도..