본문 바로가기

코테9

[코테] 신고 결과 받기 ( Lv.1 (39%)) 문제신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다.각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다.k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다.다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고, k = 2(즉, 2번 이상 신고당하면 이용 정지)인 경우의 예시입니다.유저 ID유저가 신고한 ID설명"muzi""frodo""muzi"가 "frodo"를 신고했습니다."apeach""frodo""apeach"가 "frodo"를 신고했습니다."frodo""neo""frodo"가 "neo"를 신고했습니다.. 2024. 10. 5.
[코테] 순위 Lv.3 (40%) 문제 ###### 문제 설명 n명의 권투선수가 권투 대회에 참여했고 각각 1번부터 n번까지 번호를 받았습니다. 권투 경기는 1대1 방식으로 진행이 되고, 만약 A 선수가 B 선수보다 실력이 좋다면 A 선수는 B 선수를 항상 이깁니다. 심판은 주어진 경기 결과를 가지고 선수들의 순위를 매기려 합니다. 하지만 몇몇 경기 결과를 분실하여 정확하게 순위를 매길 수 없습니다. 선수의 수 n, 경기 결과를 담은 2차원 배열 results가 매개변수로 주어질 때 정확하게 순위를 매길 수 있는 선수의 수를 return 하도록 solution 함수를 작성해주세요. ##### 제한사항 - 선수의 수는 1명 이상 100명 이하입니다. - 경기 결과는 1개 이상 4,500개 이하입니다. - results 배열 각 행 [A, .. 2024. 2. 19.
선택정렬 알고리즘 구현 (Python) 선택 정렬 위키에 있는 이미지인데 보면서 뭔가 뿌듯하다 정렬 알고리즘 비교 정렬 알고리즘 평균 시간 복잡도 공간 복잡도 특징 선택 정렬 O(N^2) O(N) 아이디어가 간단함 삽입 정렬 O(N^2) O(N) 데이터가 거의 정렬되어 있을 때 가장 빠름 퀵 정렬 O(NlogN) O(N) 대부분의 경우 가장 적합함 충분히 빠름 계수 정렬 O(N+K) O(N+K) 데이터 크기가 한정된 경우에만 사용 가능 매우 빠름 알고리즘 코딩테스트를 준비하면서 기본이 되는 정렬 알고리즘을 비교해 보았다. 선택 정렬은 O(N^2)의 시간 복잡도이므로 N이 증가할수록 제곱으로 증가한다 장점: 구현이 쉽고, 데이터가 이미 정렬된 경우 빠르게 정렬 단점: 입력 데이터가 역순으로 정렬되어 있을 때, 최악의 경우 O(N^2)의 성능 (.. 2023. 12. 11.
스타트업 신사업팀 과제전형 후기 2023.10.15 - [TIL] - 스타트업 신사업팀 코테 후기 얼마 전 스타트업 코테 후기를 작성하였는데 이 글은 다음 채용 과정인 면접전형에 대한 후기이다. 결과적으로는 탈락했지만 아쉬운 마음은 뒤로하고 정리해 보고자 한다. 😢 코테 합격 후 오랜만에 보는 코테에 합격한 당시의 컨디션은 매우 좋지 않았다. 금요일에 과제전형이 시작됐고 기간은 일주일이었다. 코테에 에너지를 쏟아부어서 통과는 할 수 있었지만, 주말이 되자 컨디션이 무너졌다. 내 성격상 이력서 작성도 매우 힘들어서 코테, 이력서 2연타를 맞은 상태, 주말과 월요일이 통째로 사라진 느낌이었다 평일부터라도 시작하려 했지만 화요일 커리어 코칭님과 상담 이후 잠들어서 하루가 날아갔다. 과제 시작 3일 남은 상황에 과제를 펼쳤다. (속으로는 그동.. 2023. 11. 13.
스타트업 신사업팀 코테 후기 1. 서류 합격 커리어 코치님과 지인들에게 받은 피드백으로 이력서를 기존보다 더 눈에 들어오게끔 수정했다. 10곳 정도 이력서를 넣었는데 감사하게도 한 이름 있는 스타트업에서 연락이 왔다. (주변 현업 지인들 3명한테 말했더니 다 알고 있었음) 문제 수는 6문제에 240분의 시험이었다. 다른 코테는 1~2시간으로 기억하는데 4시간? 문제당 40분이고 복붙이 안 돼서 직접 타이핑해야 하는데.. 시간도 부족한데 집중이나 할 수 있을지 걱정됐다. 부트캠프 때 매일 한 문제씩 풀어서 자신이 있었는데 오랜만에 풀어보니 다 까먹은 것 같았다. 2. 코테 준비 a. 레벨 2 도전 듣기로는 레벨 2~3을 무난하게 풀 정도면 합격한다길래 레벨2 중에 정답률이 가장 낮은 문제부터 풀자 생각했는데 도무지 어떻게 풀지 감이 .. 2023. 10. 15.
n진법으로 변환하는 함수 10진법 -> n진법 구현 10보다 작은 n진법으로 변화하는 함수는 다음과 같습니다. # n이 10보다 작을 때 def to_nbase(num, n): s = "" while num != 0: s = str(num % n) + s num //= n return s n으로 나눈 나머지를 앞쪽부터 쌓아 올립니다. 몫이 0이 될 때까지 진행한 값을 반환하면 n진법으로 변환한 숫자가 됩니다. 하지만 10보다 큰 n진법으로 변환할 때에는 다른 함수가 필요합니다. 10진법 표현으로는 11,12와 같은 숫자를 한자리 수로 표현할 수 없기 때문에 알파벳을 추가하여 나타내게 됩니다. # n이 10보다 클 때(36까지) def to_nbase(num, n): chars = "0123456789ABCDEFGHIJKLMNOP.. 2023. 10. 1.
[코테] 콜라 문제 Lv. 1 (67%) 문제 설명 오래전 유행했던 콜라 문제가 있습니다. 콜라 문제의 지문은 다음과 같습니다. 정답은 아무에게도 말하지 마세요. 콜라 빈 병 2개를 가져다주면 콜라 1병을 주는 마트가 있다. 빈 병 20개를 가져다주면 몇 병을 받을 수 있는가? 단, 보유 중인 빈 병이 2개 미만이면, 콜라를 받을 수 없다. 문제를 풀던 상빈이는 콜라 문제의 완벽한 해답을 찾았습니다. 상빈이가 푼 방법은 아래 그림과 같습니다. 우선 콜라 빈 병 20병을 가져가서 10병을 받습니다. 받은 10병을 모두 마신 뒤, 가져가서 5병을 받습니다. 5병 중 4병을 모두 마신 뒤 가져가서 2병을 받고, 또 2병을 모두 마신 뒤 가져가서 1병을 받습니다. 받은 1병과 5병을 받았을 때 남은 1병을 모두 마신 뒤 가져가면 1병을 또 받을 수 있.. 2023. 8. 31.
[코테] 옹알이 (1) Lv. 0 (32%) 문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ babbling의 길이 ≤ 100 1 ≤ babbling[i]의 길이 ≤ 15 babbling의 각 문자열에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다. 즉, 각 문자열의 가능한 모든 부분 문자열 중에서 "aya", "ye", "woo", "ma"가 한 번씩만 등장합니다. 문자열은 알파벳 소문자로.. 2023. 8. 27.
[코테] 정수를 나선형으로 배치하기 Lv. 0 (45%) 문제 설명 양의 정수 n이 매개변수로 주어집니다. n × n 배열에 1부터 n^2 까지 정수를 인덱스 [0][0]부터 시계방향 나선형으로 배치한 이차원 배열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ n ≤ 30 입출력 예 n result 4 [[1, 2, 3, 4], [12, 13, 14, 5], [11, 16, 15, 6], [10, 9, 8, 7]] 5 [[1, 2, 3, 4, 5], [16, 17, 18, 19, 6], [15, 24, 25, 20, 7], [14, 23, 22, 21, 8], [13, 12, 11, 10, 9]] 입출력 예 설명 입출력 예 #1 예제 1번의 n의 값은 4로 4 × 4 배열에 다음과 같이 1부터 16까지 숫자를 채울 수 있습니다.행 .. 2023. 8. 27.