전체 글 291

코딩테스트 떨어졌을 때 봐야하는 글

안녕하세요. 이번에는 열심히 준비한 시험에 떨어졌을 때 어떻게 맨탈 관리를 해야하는지 제 자신에게 알려주려고 합니다. 나중에 더 큰 시련이 왔을 때, 열심히 준비한 시험에 떨어졌을 때 이 글을 보며 마음을 다잡기 위해 기록해두려 합니다. 실패에 관하여 실패의 정의를 다시 내려야합니다. 실패는 패배가 아니라, 합격으로 더 한발짝 내딛은 것입니다. 즉, 결과가 아닌 과정인 것입니다. 끝이 아니기에 그냥 계속 걸어나아가면 되는 것입니다. 다만, 실패라는 이벤트를 겪으며 무조건 배워야 할 것이 있습니다. if 실패: 기존의 방법이 잘못되었으니 돌아보기 부족한 부분을 더 메울 수 있는 자기 진단과 방법 세우기 감으로 막연히 행동하지 말기 셀프 모의고사로 모르는 부분을 정확히 인지하기 적용해보기 기존의 방법이 잘못..

[HackerRank] Breaking the Records (PYTHON)

문제 링크 : https://www.hackerrank.com/challenges/breaking-best-and-worst-records/problem Breaking the Records | HackerRank Given an array of Maria's basketball scores all season, determine the number of times she breaks her best and worst records. www.hackerrank.com 최고기록을 갱신 시마다 업데이트 시켜주는 것이 중요하다는 것을 알게 되었습니다. def breakingRecords(scores): # Write your code here win_cnt, lose_cnt = 0,0 breaking_win,..

알고리즘 2021.11.01

옷 정리 알고리즘에 대하여..

서론 개요 가지고 있는 옷이 너무 많은데, 옷 정리 또한 제대로 되고있지 않은 것 같습니다. 생각을 하게 된 이유 집 안에 널부러진 옷들이 너무나 많았습니다. 가뜩이나 집도 좁은데 집에 비해 지나치게 옷이 많은 것 같았습니다. (알고리즘 공부를 하면 별의 별 생각이 다 듭니다.) 이왕 이렇게 된 김에 옷정리(생각정리)를 제대로 해보고 싶어 로직을 생각해보게 되었습니다. 본론 문제점 파악 옷정리가 안되어 알고리즘 풀이에 집중이 안되었습니다. 옷 널부러진 것을 봄 -> 옷장에 걸어놓고 싶음 -> 옷장이 꽉 차있음 -> 알고리즘은 안하고 옷정리하고 있는 나 발견. 하루 이틀도 아니고 이 습관을 고치고 싶었습니다. 원인 땀 흘린 옷도 한번쯤 더 입을 수 있지 않을까 하는 마음가짐 옷 분류에 따라 세탁바구니에 넣..

[프로그래머스] 타겟 넘버 - BFS

타겟 넘버 문제 설명 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫자는 1 이상 50 이하인 자연수입니다. 타겟 넘버는 1 이상 1000 이하인 자연..

[백준] 단지번호 붙이기 - BFS

단지번호붙이기 성공출처 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 128 MB 93709 38989 24584 39.632% 문제 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오. 입력 첫 번째 줄에는 지도의 크기 N(정사각형이므로 가로와 세로의 크기는 같으며 5≤N≤2..

[프로그래머스] 기능개발

기능개발 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 제한 사항 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. 작업 진도는 100 미만의 자연수입니다. 작업 속도는 100 ..

[백준] N과 M (1~4)

(1) 1~N까지 자연수 중, 중복 없이 M개를 고른 수열 - nPm 문제 n, m = map(int,input().split()) arr = [] def solution(): if len(arr) == m: print(' '.join(map(str,arr))) return for i in range(1,n+1): if i not in arr: arr.append(i) solution() arr.pop() solution() (2) 1~N까지 자연수 중, 중복 없이 M개를 고른 수열 + 오름차순 - nCm 문제 n, m = map(int,input().split()) arr = [] def solution(start): if len(arr) == m: print(' '.join(map(str,arr)))..

[프로그래머스] 전화번호 목록

https://programmers.co.kr/learn/courses/30/lessons/42577#qna 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 전화번호 목록 문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 so..

알고리즘/해시 2021.09.19