본문 바로가기
728x90

분류 전체보기651

문자열 압축 https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1글자씩 묶을 때, 2글자씩 묶을 때, . . . 각각을 다 계산해보고 가장 작은 값을 출력하도록 했다 내가 짠 코드는 실행이 안 돼서 결국 다른 코드를 참고했다 def solution(s): result=[] if len(s)==1: return 1 for i in range(1, len(s)//2+1): b='' cnt=1 tmp=s[:i] #시작부터i개만큼의 문자열 for j in range.. 2022. 8. 28.
날씨 좋은 주말 일어나서 거실에 나갔는데 날씨가 너무 좋은거야;; 초딩때 갈토에 학교갔다가 집올때 느낌이~은은하게 남 초2때 우리반 반장 엄마가 반티를 맞춰주셨는데(초록색에 사자같은게 프린팅돼있었던거같음) 선생님이 토요일에는 다같이 반티를 입고와서 단체사진을 찍자고해서 나는 그걸 기억하고있다가 토요일에 반티를 입고감ㅋㅋ 근데 나빼곤 아무도 반티를 안입고온거임;;ㅠㅠ 그래서 선생님이 나 불러서 사진은 다음에 찍자고했던게 갑자기 기억나네.. 의자에 앉아서 좀 쉬다가 가려고했는데 햇빛이 너무 심해서 여긴 못앉음 그래서 여기 사람이 없었구나..;; 좀 걸어와서 그늘에 있는 벤치에 앉았다 날씨가 좋아서 강아지 산책하는 사람도 많고~ 물에서 물고기잡는 애들도 있다~ 바람도 선선하고 나른하고 평화로웠다 평소에도 넷플릭스 영상 보면서.. 2022. 8. 28.
무지의 먹방라이브 https://school.programmers.co.kr/learn/courses/30/lessons/42891 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 무지의 먹방 라이브 * 효율성 테스트에 부분 점수가 있는 문제입니다. 평소 식욕이 왕성한 무지는 자신의 재능을 뽐내고 싶어 졌고 고민 끝에 카카오 TV 라이브로 방송을 하기로 마음먹었다. 그냥 먹방을 하면 다른 방송과 차별성이 없기 때문에 무지는 아래와 같이 독특한 방식을 생각해냈다. 회전판에 먹어야 할 N 개의 음식이 있다. 각 음식에는 1부터 N 까지 번호가 붙어있으며, 각 음식을 섭취하는데 .. 2022. 8. 24.
코로나 걸림 코로나 생긴지가 벌써 2년반정도 됐는데 이제와서 처음 걸렸다;; 사람을 잘 안만나서 그런가 암튼 걸림 첫날엔 두통이랑 몸살만 있었다 그냥 감기몸살인거 아닌가 싶을정도.. 둘쨋날부터는 목이 아프기 시작했다 목에 물엿같은게 껴있는느낌 이 물엿같은거 때문에 목소리도 이상하게 갈라지고 너무 아픔.. 침 삼킬때도 지옥을 맛보게됨 그리고 잘 때마다 너무 추워서 달달달달 떨면서 이불 뒤집어쓰고 잤다 근데 신기한게;;너무 추운데 온몸에 땀이 남;; 너무 찝찝하다~ 아프니까 죽 시켜먹었다 본죽에서 특새우죽,전복내장죽,전복죽,김치낙지죽 시켜먹었다ㅋㅋ 평소엔 죽 배달시켜먹으면 뭔가 돈 아까운 느낌이라 안시켜먹었는데 이번 기회에 먹고싶은거 다 시켜먹었다 이참에 게임도함 폴가이즈 우승 한번 하려고 하루죙일 하고 자면서도 폴가이.. 2022. 8. 24.
허브딜 꽃 키우기;; 오늘 낮에 베란다에 햇빛이 너무 잘 들길래 한번 찍어봤다 바질도 잘 자라고있고 아보카도가 말도안되게 잘 자라고있는게 보인다 허브딜 꽃은 어떻게됐을까? 생생하던 허브딜 (1개월 전) 어느날 허브딜 물 갈아주려고 꺼내봤는데 뿌리가.. 마늘쫑조림처럼.. 뭔가 요리 한것 처럼 이상하게 변해있었다 그래서 줄기를 또 잘라서 물에 담가놨다. 허브딜 결국엔 드라이플라워가 됐다 2022. 8. 18.
알고리즘 기출문제: 그리디2 볼링공 고르기 볼링공 개수n, 볼링공의 최대무게m이 주어지고 다음 줄에 각 볼링공의 무게가 주어진다 두 사람이 서로 다른 무게의 볼링공을 고르고자 할 때, 고를 수 있는 조합의 개수는? n,m=map(int,input().split()) balls=list(map(int,input().split())) result=0 for i in range(n-1): for j in range(i,n): if balls[i]!=balls[j]: result+=1 print(result) 2022. 8. 17.
알고리즘 기출문제: 그리디 1. 모험가 길드 n명의 모험가가 있다 각각의 모험가는 공포도가 있는데, 공포도가 X인 모험가는 반드시 X명 이상으로 구성된 모험가 그룹에 참여해야 모험을 떠날 수 있다 최대 몇개의 모험가 그룹을 만들 수 있을까? n=int(input()) data=list(map(int,input().split())) data.sort() result=0 count=0 for i in data: count+=1 if count >= i: result+=1 count=0 print(result) 모험가를 한 명씩 데려와서 count를 세고 현재 모험가의 공포도보다 count가 크거나 같다면 result+=1, count는 초기화 한다 2. 곱하기 혹은 더하기 각 자리가 숫자로만 이루어진 문자열 S가 주어진다. 왼쪽부터 .. 2022. 8. 16.
백준 1806번: 부분합 https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net 문제 10,000 이하의 자연수로 이루어진 길이 N짜리 수열이 주어진다. 이 수열에서 연속된 수들의 부분합 중에 그 합이 S 이상이 되는 것 중, 가장 짧은 것의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며.. 2022. 8. 15.
기타 알고리즘: 투 포인터 알고리즘, 구간 합 투 포인터 알고리즘은 리스트에 순차적으로 접근해야 할 때 두개의 점의 위치를 기록하면서 처리하는 알고리즘을 의미한다 투 포인터 알고리즘을 잘 활용할 수 있는 문제로는 '특정한 합을 가지는 부분 연속 수열 찾기' 가 있다 1. 시작점(start)과 끝점(end)이 첫 번째 원소의 인덱스(0)을 가리키도록 한다. 2. 현재 부분 합이 M과 같다면, 카운트한다. 3. 현재 부분 합이 M보다 작다면, end를 1 증가시킨다. 4. 현재 부분 합이 M보다 크거나 같다면, start를 1 증가시킨다. 5. 모든 경우를 확인할 때까지 2번부터 4번까지의 과정을 반복한다. n=5 #데이터의 개수 5개 m=5 #찾고자 하는 부분합 m=5 data=[1,2,3,2,5] #전체 수열 count=0 interval_sum=0.. 2022. 8. 15.
엄청 큰 나무 오랜만에 달리기를 하려고 공원에 왔다 평소에도 자주 오던 공원인데 유독 오늘따라 나무가 커보인다 이 나무는 너무 커서 조금만 가까이 가도 새까만 나무의 형상이 하늘을 가리는데 그게 압도감이 느껴질 정도다 밑에서 올려다 보면 높은 만큼 많은 가지가 있고 이파리가 층층이 나있어서 꼭대기를 볼 수가 없다 웬만한 빌라 정도는 될 것 같은 키다 지금도 자라는 중인가 궁금하다 2022. 8. 15.
9. 기타 알고리즘: 소수 판별, 에라토스테네스의 체 알고리즘 소수: 1보다 큰 자연수 중에서 1과 자신을 제외한 자연수로는 나누어 떨어지지 않는 수 이걸 코드로 그대로 옮기면 def is_prime_number(x): for i in range(2,x): if x%i==0: return False return True 이렇게 간단하게 쓸 수 있다 숫자가 X일 때 시간복잡도는 O(X)가 된다 여기서 약수의 성질을 이용하면 시간복잡도를 줄일 수 있다 모든 약수가 가운데 약수를 기준으로 곱셈 연산에 대해 대칭을 이룬다 예를 들어 16의 약수는 1, 2, 4, 8, 16인데, 1*16=16, 2*8=16으로, 4를 기준으로 대칭이다 따라서 특정한 자연수의 모든 약수를 찾을 때, 가운데 약수(제곱근)까지만 확인하면 된다 이것을 소수판별 알고리즘에 적용시키면 import m.. 2022. 8. 14.
백준 13023번: ABCDE https://www.acmicpc.net/problem/13023 13023번: ABCDE 문제의 조건에 맞는 A, B, C, D, E가 존재하면 1을 없으면 0을 출력한다. www.acmicpc.net 문제 BOJ 알고리즘 캠프에는 총 N명이 참가하고 있다. 사람들은 0번부터 N-1번으로 번호가 매겨져 있고, 일부 사람들은 친구이다. 오늘은 다음과 같은 친구 관계를 가진 사람 A, B, C, D, E가 존재하는지 구해보려고 한다. A는 B와 친구다. B는 C와 친구다. C는 D와 친구다. D는 E와 친구다. 위와 같은 친구 관계가 존재하는지 안하는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 사람의 수 N (5 ≤ N ≤ 2000)과 친구 관계의 수 M (1 ≤ M ≤ 2000)이 주어진다. 둘째.. 2022. 8. 13.
이웃사람들 길바닥에서 꽃 발견함 주워서 사진찍음 요즘 너무 더워서 나갈 때 얼음물 챙겨 가야 함 안 챙기고 가다가 더워서 죽음 도서관에서 너무 화가 나는 일이 있었다. 도서관 중앙에 테이블이 하나 있는데 거기 고등학생 커플이 마주앉아 있었고 자꾸 둘이 장난치고 떠들었어;; 시끄럽게 속닥속닥 하다가 실실 쪼개는거임;;.. 갑자기 폰 꺼내서 지들끼리 서로 쳐 찍고 난리 치더니만 또 속닥속닥 쳐 얘기하고 있는 꼬락서니를 보고있으니 진짜 내 속 안에 있는 악마가 꺠어날 뻔;;~ 2022. 8. 11.
백준 1922번: 네트워크 연결 https://www.acmicpc.net/problem/1922 1922번: 네트워크 연결 이 경우에 1-3, 2-3, 3-4, 4-5, 4-6을 연결하면 주어진 output이 나오게 된다. www.acmicpc.net 문제 도현이는 컴퓨터와 컴퓨터를 모두 연결하는 네트워크를 구축하려 한다. 하지만 아쉽게도 허브가 있지 않아 컴퓨터와 컴퓨터를 직접 연결하여야 한다. 그런데 모두가 자료를 공유하기 위해서는 모든 컴퓨터가 연결이 되어 있어야 한다. (a와 b가 연결이 되어 있다는 말은 a에서 b로의 경로가 존재한다는 것을 의미한다. a에서 b를 연결하는 선이 있고, b와 c를 연결하는 선이 있으면 a와 c는 연결이 되어 있다.) 그런데 이왕이면 컴퓨터를 연결하는 비용을 최소로 하여야 컴퓨터를 연결하는 비용.. 2022. 8. 11.
백준 1520번: 내리막 길 (dp, dfs) https://www.acmicpc.net/problem/1520 1520번: 내리막 길 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으 www.acmicpc.net 입력 첫째 줄에는 지도의 세로의 크기 M과 가로의 크기 N이 빈칸을 사이에 두고 주어진다. 이어 다음 M개 줄에 걸쳐 한 줄에 N개씩 위에서부터 차례로 각 지점의 높이가 빈 칸을 사이에 두고 주어진다. M과 N은 각각 500이하의 자연수이고, 각 지점의 높이는 10000이하의 자연수이다. 출력 첫째 줄에 이동 가능한 경로의 수 H를 출력한다. 모든 입력에 대하여 H는 10억 이하의 음이 아닌 정수이다... 2022. 8. 10.
2623번: 음악프로그램 (위상정렬) https://www.acmicpc.net/problem/2623 2623번: 음악프로그램 첫째 줄에는 가수의 수 N과 보조 PD의 수 M이 주어진다. 가수는 번호 1, 2,…,N 으로 표시한다. 둘째 줄부터 각 보조 PD가 정한 순서들이 한 줄에 하나씩 나온다. 각 줄의 맨 앞에는 보조 PD가 담당한 www.acmicpc.net 문제 인터넷 방송 KOI(Korea Open Internet)의 음악 프로그램 PD인 남일이는 자기가 맡은 프로그램 '뮤직 KOI'에서 가수의 출연 순서를 정하는 일을 매우 골치 아파한다. 순서를 정하기 위해서는 많은 조건을 따져야 한다. 그래서 오늘 출연 예정인 여섯 팀의 가수에 대해서 남일이가 보조 PD 세 명에게 각자 담당한 가수의 출연 순서를 정해오게 하였다. 보조 PD.. 2022. 8. 10.
백준 14567번: 선수과목 (위상정렬) https://www.acmicpc.net/problem/14567 14567번: 선수과목 (Prerequisite) 3개의 과목이 있고, 2번 과목을 이수하기 위해서는 1번 과목을 이수해야 하고, 3번 과목을 이수하기 위해서는 2번 과목을 이수해야 한다. www.acmicpc.net 문제 올해 Z대학 컴퓨터공학부에 새로 입학한 민욱이는 학부에 개설된 모든 전공과목을 듣고 졸업하려는 원대한 목표를 세웠다. 어떤 과목들은 선수과목이 있어 해당되는 모든 과목을 먼저 이수해야만 해당 과목을 이수할 수 있게 되어 있다. 공학인증을 포기할 수 없는 불쌍한 민욱이는 선수과목 조건을 반드시 지켜야만 한다. 민욱이는 선수과목 조건을 지킬 경우 각각의 전공과목을 언제 이수할 수 있는지 궁금해졌다. 계산을 편리하게 하기 .. 2022. 8. 9.
8. 기타 그래프 알고리즘 예제 3문제 (팀 결성, 도시 분할 계획, 커리큘럼) 팀 결성(union - find) n명의 학생이 있다 두 학생의 팀을 합치는 연산과 두 학생의 같은 팀 여부를 확인하는 연산이 있다 입력받아서 연산하고~ 같은팀 여부 확인 연산은 같은팀일 시 Yes, 아닐 시 No 출력 import sys input=sys.stdin.readline def find_parent(parent,x): if parent[x]!=x: parent[x]=find_parent(parent,parent[x]) else: return parent[x] def union_parent(parent,a,b): a=find_parent(parent,a) b=find_parent(parent,b) if a 2022. 8. 9.
개미와의 조우 저번에 바질에 에프킬라 뿌린 이후 이제 바질이 어느정도 잘 자라고 있어서 상했던 이파리를 다 떼주기로 했다 상한 부분이 투명하게 변했다 뒤에 손 갖다대면 손이 보일정도로 진짜 투명해짐... 근데 앞에 뭔가 검정색이 왔다갔다 하는게 느껴짐 개미가 바질이파리에서 피서 즐기는중 더듬이 이래저래 흔들면서 잘 다닌다 보고있으면 개미도 좀 귀여운듯? 더듬이 움직이는게 귀엽다 이건 딴얘기긴한데 토끼 귀도 약간 더듬이같이생겨서 귀여운거같다 토끼를 위에서보면 달팽이를 보는거같아서 위에서 보는거 좋아함 아 근데 개미는 진딧물이랑 친구다 그래서 개미는 집에 들이는게 아닌데.. 귀여운 개미 근데 개미가 원래 날개가 있었나? 2022. 8. 9.
오늘은 휴관 평화로운 월요일 오전 헬스장 가서 깔짝 하고 도서관 가는길 길에 사람도 없다 다 어디갔나? 직장인들은 출근했다 치고 방학한 초중고대딩들은 어디로? 아스팔트 바닥에 뜬금없이 구멍이 나있다 물빠지라고 뚫어놓은건가 저기로 가면 왠지 위험할것같아서 빙 둘러갔다 땀 뻘~뻘 흘리면서 20분 걸어서 도서관 도착 ........... 눈물이 앞을 가린다 사실 눈물은 아니고 땀이 앞을 가린다 이마에서 흐른 땀이 머리카락을 타고 내려와서 눈에 떨어짐 진짜로 근데 이까지 노트북 둘러메고 땀 뻘~뻘 흘리면서 왔는데 집 가긴 좀 그래서... 가까운 스타벅스로.. 출발 가는길에 뭐가 만개했길래 찍었다 뭔진 모르겠는데 폭죽같이 생겨서 신기하다 멀리서 보면 꽃인지도 잘 안보이고 눈에 안 띄는데 가까이서 보니까 예쁘다 가는길에 미리 .. 2022. 8. 8.
728x90