본문 바로가기
300x250

코딩테스트34

카테고리이미지 백준 2798번 블랙잭 파이썬 풀이 브루트포스 알고리즘은 그냥 무식하게 들이박는다고 생각하면 된다. 우리는 넘치는게 시간이고 메모리인데 안될게 무엇? 일단 카드도 3장을 뽑는 것이니 for문을 3번 돌리면 된다. 다만 같은 카드를 뽑는 조건을 조심하자. 자세한건 아래에 넣었다. 더 자세한 설명은 귀찮으니 생략. # sys.stdin.readline을 이용해 데이터를 받는다.from sys import stdinput = stdin.readline# 카드의 수, 그리고 목표 숫자를 받는다.# 카드 숫자들은 map으로 쪼갠 뒤, list로 변환한다.numOfCard, targetNum = map(int, put().split())cardLst = list(map(int, put().split()))# 총합들과 차이를 저장한다.totals = .. 2024. 12. 5.
카테고리이미지 99클럽 코테 스터디 34일차 TIL : 프로그래머스 개인정보 수집 유효기간 1. 오늘의 문제 오늘 문제는 알고리즘은 따로 필요없이 파이썬의 기본 모듈인 datetime, dateutil을 다루면 끝나는 문제였다. 더보기문제 설명 고객의 약관 동의를 얻어서 수집된 1~n번으로 분류되는 개인정보 n개가 있습니다. 약관 종류는 여러 가지 있으며 각 약관마다 개인정보 보관 유효기간이 정해져 있습니다. 당신은 각 개인정보가 어떤 약관으로 수집됐는지 알고 있습니다. 수집된 개인정보는 유효기간 전까지만 보관 가능하며, 유효기간이 지났다면 반드시 파기해야 합니다.예를 들어, A라는 약관의 유효기간이 12 달이고, 2021년 1월 5일에 수집된 개인정보가 A약관으로 수집되었다면 해당 개인정보는 2022년 1월 4일까지 보관 가능하며 2022년 1월 5일부터 파기해야 할 개인정보입니다.당신은 오.. 2024. 12. 1.
카테고리이미지 99클럽 코테 스터디 33일차 TIL : 프로그래머스 신규 아이디 추천 1. 오늘의 문제 오늘 문제는 수많은 if문으로 다양한 조건을 돌파해야 하는 문제였다. 프로그래머스는 역시 예제를 많이 줘서 쉽게 통과할 수 있었다. 더보기문제 설명카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 규칙입니다. 아이디의 길이는 3자 이상 15자 이하여야 합니다. 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다. 단, 마침표(... 2024. 11. 29.
카테고리이미지 99클럽 코테 스터디 32일차 TIL : 백준 11054번, 최장 증가 부분 수열 1. 오늘의 문제 보자마자 최장 증가 부분 수열임을 알아지만 푸는데 꽤나 오랜 시간이 걸렸다. 자꾸 반례에 걸렸는데, 왜 걸리는지조차 알기가 쉽지 않았다. 결국 백준에서 검색을 통해 반례를 찾아보았다. 더보기문제 수열 S가 어떤 수 Sk를 기준으로 S1  Sk+1 > ... SN-1 > SN을 만족한다면, 그 수열을 바이토닉 수열이라고 한다.예를 들어, {10, 20, 30, 25, 20}과 {10, 20, 30, 40}, {50, 40, 25, 10} 은 바이토닉 수열이지만, {1, 2, 3, 2, 1, 2, 3, 2, 1}과 {10, 20, 30, 40, 20, 30} 은 바이토닉 수열이 아니다.수열 A가 주어졌을 때, 그 수열의 부분 수열 중 바이토닉 수열이면서 가장 긴 수열의 길이를 구하는 프로그.. 2024. 11. 28.
카테고리이미지 99클럽 코테 스터디 31일차 TIL : 백준 2631번, 최장 증가 부분 수열 1. 오늘의 문제 오늘 문제는 처음 봤을 때 조금 고민을 했다. queue를 만들어서 하나씩 세어야 하나...  stack으로 뒤쪽에서 꺼내야 하나... 그런데 보다가 보니까 정렬되어 있는 것들만 구하고, 정렬되지 않은 수를 세면 정답이라는 생각이 들었다 결국 이번 문제도 최장 증가 부분 수열이었다. 더보기문제KOI 어린이집에는 N명의 아이들이 있다. 오늘은 소풍을 가는 날이다. 선생님은 1번부터 N번까지 번호가 적혀있는 번호표를 아이들의 가슴에 붙여주었다. 선생님은 아이들을 효과적으로 보호하기 위해 목적지까지 번호순서대로 일렬로 서서 걸어가도록 하였다. 이동 도중에 보니 아이들의 번호순서가 바뀌었다. 그래서 선생님은 다시 번호 순서대로 줄을 세우기 위해서 아이들의 위치를 옮기려고 한다. 그리고 아이들이.. 2024. 11. 27.
카테고리이미지 99클럽 코테 스터디 30일차 TIL : 백준 1965번, 최장 증가 부분 수열 1. 오늘의 문제 오늘의 문제는 최장길이 부분수열의 변형이다. 이 문제는 유형이 달라도 거의 복붙이라 별로 어렵지 않음. 더보기문제 정육면체 모양의 상자가 일렬로 늘어서 있다. 상자마다 크기가 주어져 있는데, 앞에 있는 상자의 크기가 뒤에 있는 상자의 크기보다 작으면, 앞에 있는 상자를 뒤에 있는 상자 안에 넣을 수가 있다. 예를 들어 앞에서부터 순서대로 크기가 (1, 5, 2, 3, 7)인 5개의 상자가 있다면, 크기 1인 상자를 크기 5인 상자에 넣고, 다시 이 상자를 크기 7인 상자 안에 넣을 수 있다. 하지만 이렇게 상자를 넣을 수 있는 방법은 여러 가지가 있을 수 있다. 앞의 예에서 차례대로 크기가 1, 2, 3, 7인 상자를 선택하면 총 4개의 상자가 한 개의 상자에 들어가게 된다.상자의 크기.. 2024. 11. 26.
카테고리이미지 99클럽 코테 스터디 29일차 TIL : 백준 9461번, 수학 1. 오늘의 문제 오늘은 삼각형을 붙이는 문제였다. 마치 피보나치 수열같은 느낌? 처음에는 규칙이 없는 것처럼 보이지만 5, 7, 9... 에서 부터 규칙이 보이기 시작한다. 다음 숫자는 그 이전의 숫자 + 이전 숫자의 -4 인덱스 값이다. 더보기문제 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다.파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다.N이 주어졌을 때, P(N)을 구하는 프로그램.. 2024. 11. 25.
카테고리이미지 99클럽 코테 스터디 27~28일차 TIL : 백준 11055, 최장 증가 부분 수열 1. 오늘의 문제 오늘 문제는 어제 나왔던 최장 증가 부분 수열의 응용버전이다. 어제 나왔던 문제와 비슷함. 27일차 TIL은 도저히 쓸 시간이 나지 않아서 오늘거로 때우려고 한다. 역시 매일 과제가 있는 프로젝트는 주말이 위기다. 더보기문제수열 A가 주어졌을 때, 그 수열의 증가하는 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가하는 부분 수열은 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 이고, 합은 113이다. 입력첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. .. 2024. 11. 25.
카테고리이미지 99클럽 코테 스터디 26일차 TIL : 백준 9655번, 게임이론 1. 오늘의 문제 오늘 문제는 별로 어렵지 않은 문제였다. 그런데... 문제에서 돌을 1개, 또는 3개를 가져갈 수 있다는 내용을 1~3개를 가져갈 수 있다는 것으로 착각했다. 나는 난독인건가... 그래서 한참을 헤메였다. 더보기문제 돌 게임은 두 명이서 즐기는 재밌는 게임이다.탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다.두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다. 입력 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000)  2. 원리 돌의 숫자를 1, 2, 3, 4...로 늘려나가면서 규칙을 찾아본다. 돌이 1개.. 2024. 11. 22.
728x90