코딩테스트준비 13

프로그래머스 자물쇠와 열쇠 문제 풀이 - [세무민의 코딩일기]

ㅋ안녕하세요 세기무민입니다. 이번에 풀어볼 문제는 2020년도 카카오 블라인트 문제 중 하나인 자물쇠와 열쇠 문제입니다. 문제 설명 입출력 예시 문제 풀이 흠.... 개인적으로 일단 이번 문제에서 포인트는 배열 회전하는 것이라고 생각한다. 파이썬에서 배열 회전에 사용되는 내장 함수 중 Zip이라고 있는데 이걸 사용하여 0 / 90 / 180 / 270도 회전하여 한번씩 key를 넣어보면 되는 문제이다. 아래의 그림으로 좀더 쉽게 설명해보면 간단한 예시로 Lock과 Key의 값은 위와 같고 0도부터 하나씩 Lock에 Key를 넣어줍니다. 넣었을 때 Lock의 모든 값이 1이라면 True를 반환해주면 되고 0, 90, 180, 270도 회전하여 동일하게 하나씩 탐색했음에도 불구하고 모든값이 1인 경우가 없다..

[백준] 10423번 전기가 부족해(Java) - 세무민의 코딩일기

이번 포스팅에서 풀어본 문제는 "전기가 부족해"라는 문제입니다. 1. 문제 2. 입출력 및 예제 3. 문제 풀이 이번 문제는 가장 중요한 것이 3개의 발전소로 나눈다는 것이다. 따라서 이번 문제에서는 find를 이용하여 정점들을 탐색할 때 탐색한 경우 체크하는 것이 중요하다 . 아래의 그림을 통해서 이해해보자 위의 그림처럼 가정하여 풀어보도록 하자. 처음에는 발전소를 선택하지 않았기 때문에 모두 0의 값을 가진다. 발전소를 1,2,9번으로 선택하고 진행할 예정이다. 발전소를 선택했을 때 해당 발전소의 값(index)에는 체크를 해두면 된다. 양수의 값의 경우 겹칠 수 있기 때문에 음수의 값으로 체크하는 것이 중요하다.(boolean으로도 가능) 가장 짧은 간선인 2를 이어주고 7에 체크를 해준다. 다음으..

Algorithm/Baekjoon 2021.10.07

[세무민의 코딩일기] 프로그래머스 부족한 금액 계산하기 문제 풀이

오늘 포스팅은 프로그래머스에서 위클리 챌린지 1주차 문제인 "부족한 금액 계산하기"입니다. 퇴근 한 후에 머리 식힐 겸 풀어봤는데 생각보다 쉽게 풀어서 포스팅을 하게 되었네요..ㅎㅎ(이 문제가 쉬워요..) 1. 문제 설명 2. 입출력 예시 3. 문제 풀이 이 문제는 문제 설명보다 입출력 예시를 보면 바로 풀 수 있다. 말 그대로 놀이기구의 price와 count의 곱이 money보다 큰지 아니면 같거나 작은지를 구분해주면 됩니다. # 가장 표본인 답변 def solution(price, money, count): answer = -1 resultCheck = 0 for i in range(1, count + 1): resultCheck += price * i if(resultCheck = 0): answ..

[세무민의 코딩일기] 프로그래머스 짝지어 제거하기 문제 풀이

이번 포스팅에서 다룰 문제는 2017년도 팁스타운에서 제공 된 짝지어 제거하기 문제입니다. 이 문제를 풀면서 시간복잡도와 deque의 사용의 장점을 알 수 있었습니다. 1. 문제설명 2. 입출력 예 설명 3. 문제 풀이 이번 문제는 처음에 구상했던 방법은 같은 값이 나오는 i, i+1값을 제거해주면 됩니다. 이 때 방법의 차이로 시간복잡도 문제에 봉착할 수 있습니다. 제가 처음 생각했던 것은 s = s[:count]+s[count+2:]와 같이 같은 문자가 연속으로 존재한다면 해당 값을 제거하고 다시 새로운 문자열로 만들어줬습니다. 이 방법을 이용했더니 시간복잡도에 초과가 되었고 곰곰히 생각한 끝에 deque를 생각했습니다. 말 그대로 deque과 반복문을 이용해서 연속으로 들어있는 값이 있다면 dequ..

[세무민의 코딩일기] 보호소에서 중성화한 동물 문제 풀이

오랜만에 알고리즘 문제 풀이 포스팅으로 돌아왔습니다. 최근들어서 어떤 포스팅을 해야할지 고민도 많아졌고 재택에서 출퇴근으로 변경되서 시간이 조금 없다보니 틈틈히 포스팅 할 내용들을 찾다가 이번에 쿼리관련 코테 문제로 찾아오게 되었습니다. 1. 문제 설명 2. 예시 3. 문제 풀이 및 코드 테이블을 TB로 지칭하여서 풀이를 진행해보겠습니다. ANIMAL_INS|TB와 ANIMAL_OUT|TB에서 현재 찾아야 하는 값은 중성화가 되어서 나간 친구들을 찾는것이 중요합니다. 그렇다면 내가 해야할 방법은 SEX_UPON_INTAKE가 ANIMAL_INS|TB에서 중성화가 되지 않은 친구이면서 ANIMAL_OUTS|TB에서는 중성화가 된 친구들을 찾으면 되겠죠? 그렇다면 LEFT JOIN을 이용해서 해당 테이블을 ..