본문 바로가기

프로그래밍/알고리즘 문제풀이24

[pg] 프로그래머스 성격 유형 검사하기 0. 개요 자료구조/ 알고리즘을 공부하면서 코딩테스트 문제를 푸니 뭔가 시너지가 나는 느낌이다. (아닐수도?) 암튼 자료구조도 선형구조 부터 시작해서 정리해야하고, java도 수업시간에 들은 것들 중에 좀 깊게 정리해야 될 부분이 있지만, 하루하루 버티기는 가능하지만, 뭔가 여유롭게 전부 다 하기는 어려운 느낌이라 귀찬은 건 미뤄두고, 코테 문제 해결이나 꾸준히 작성해보려한다. 이대로라면 정리는 쌓이고 쌓여 산 처럼 되어버리게찌... 쉣.. 그래도 역시 프로그래밍은 하면 할 수록 느는거 같아 성취감을 느낀다. 프로그래밍이 이래서 좋다. 적성에 안 맞으면 해도해도 안 느는것도 있는데.. 이건 늘긴하니까... 1. 문제 정의 오늘의 문제는 다음과 같다. mbti와 같은 성격유형 검사를 위해서 각 문항마다 1.. 2023. 7. 26.
[pg] 프로그래머스 개인정보 수집 유효기간 0. 개요 그룹 스터디에서 코딩테스트 준비를 하기 위해서 여러가지 의견들이 있었지만 결국에는 프로그래머스 문제를 다 풀어보는 것으로 결정났다. 그래서 레벨 1에서는 카카오 기출, 그리고 레벨 2부터는 문제를 전부 풀어보는 것을 목표로 진행할 예정이다. 1. 문제 정의 오늘의 문제를 요약하자면 다음과 같다. 개인정보 수집에 동의한 날짜가 있고, 각 약관마다 유효기간이 다르다. (6달, 12달, 3달 등) 그래서 오늘 날짜를 기준으로 만료된 개인정보를 리턴하는 문제이다. 주어지는 것은 1. 약관 타입과 약관 유효기간이 담긴 배열 2. 개인정보 번호, 약관타입, 개인정보 동의날짜 (yyyy.MM.dd)가 담긴 배열 3. 오늘 날짜 가 주어진다. 주의해야할 것은 각 월을 28일 기준으로 계산된다는 점이다. 2... 2023. 7. 25.
[pg] 프로그래머스 주식가격 0. 개요 최근 코딩 테스트 문제를 다시 풀어보면서 자료구조/알고리즘의 학습 필요성을 느끼고 다시 공부 중이다. 이전에는 알고리즘 배우고 들입다 문제풀고, 좌절하고 반복이었지만, 아직 시간이 많이 남은 만큼 차근차근 하나하나 해볼 생각이다. 너무 급하게 서두르지 않는게 목표다. 1. 문제 정의 주식 가격이 떨어질 때 까지의 시간을 구하는 문제이다. 초마다의 주식가격이 배열로 주어지고, 배열을 순회하면서 현재 인덱스에 존재하는 data 값보다 미만으로 떨어지는 시점의 시간을 구하는 문제이다. 주어지는 것: 각 초마다의 주식가격 output: 현재 인덱스의 값보다 가격이 미만인 값이 되기 까지의 시간(초)을 담은 배열. 2. 나의시도 스택/큐에 속해 있는 문제라고 해서 스택이나 큐로 풀으려고 생각했지만, 문.. 2023. 7. 23.
[pg] 프로그래머스 프로세스 0. 개요 오늘도 난 힘겹게 코딩테스트 문제를 푼다.. 알고리즘은 넘나 어려운 것!! 리팩토링할 기력도 없다.. 그럼 문제를 시작하자.. 1. 문제 정의 문제는 다음과 같다. 1. 큐에 프로세스들이 들어 있는데 각 프로세스는 우선순위를 가지고 있다. 2. 우선순위가 높으면 높을수록 먼저 실행되야 한다. 3. 그렇기 때문에 큐에서 poll 하더라도 큐에 우선순위가 더 높은 프로세스가 존재하면 큐에 다시 프로세스를 집어 넣는다. 주어지는 것: 우선순위 배열, 알고자하는 프로세스의 인덱스 location output: location으로 주어지는 프로세스가 몇 번째에 실행되는지 2. 나의 시도 일단 문제에서도 큐를 언급하였고, 순서대로 실행해야하는 부분이 있어 큐로 진행했다. 1. 일단 우선순위로 배열의 우선.. 2023. 7. 19.
[pg] 프로그래머스 올바른 괄호 0. 개요 다시 돌아온 코테~ 이번 문제는 쉬워서 재밌었다. 이런 문제만 코테에 나와줬으면 좋겠지만 그것은 허황된 바람일뿐.. 1. 문제정의 1. 문자열로 "(())" 와같은 예시가 주어지고 이것이 올바른 괄호인지 확인하는 문제. 2. 문자열 s의 길이는 10만 이하이며 문자열은 '('와 ')'로만 이루어져 있다. 주어진 것: 괄호 문자열 정답 output : 이 괄호가 올바른 괄호인지 true / false 리턴 2. 나의 사고 및 시도 괄호문제를 보고 큐보다는 스택이라는 느낌이 딱 와닿아서 스택으로 풀기로 했다. 1. char를 저장할 스택을 하나 선언한다. ( 여기에는 '('가 문자열에서 발생했을 경우 ')'를 넣을 것이다.) 2. 문자열을 char 배열로 만든다. 3. 순회하면서 '(' 일 경우에.. 2023. 7. 19.
[pg] 프로그래머스 기능개발 0. 개요 다시~ 돌아온 코딩테스트~ 왠지 너무나 어려워~ .... 이렇게 노랫말 한 소절로 나의 마음을 이야기 하면서 시작해 볼까 한다. 부트캠프를 시작하고 그룹스터디의 메인 주제가 코딩테스트 준비로 잡힘으로 해서 (반) 강제적으로 코테준비를 시작했다. 그리고 각각의 문제를 풀면서 느꼈던 점을 남기고자 이 글을 작성한다. 1. 문제정의 1. 프로그램 기능개발을 해야한다. 2. 각 기능의 진도를 나타내는 배열이 주어진다. ex) [51,10,90] 3. 각 기능 별로 진행할 수 있는 속도 배열이 주어진다 ex)[30, 20, 1] 4. 프로그램은 각 순서대로 배포된다. (뒷 기능이 먼저 배포될 수 없다.) 5. 첫 기능의 진도가 100, 두 번째 기능의 진도가 100이라면 같이 배포된다. 주어지는 것: .. 2023. 7. 19.