망나니 AWOS의 일상
article thumbnail
[python] 백준 13229번 Selection Sum
알고리즘/백준 2022. 1. 1. 17:26

입력 첫 번째 줄에는 배열 크기 두번째 줄에는 배열 안의 값들 세 번째 줄에는 테스트 케이스 개수 네 번째 줄부터는 배열 위치(시작, 끝)에 해당하는 값들의 누적 합 출력 배열 1번째 요소에서 1번째 요소까지의 합 = 5 배열 0번째 요소에서 9번째 요소까지의 합 = 42 배열 5번째 요소에서 7번째 요소까지의 합 = 12 배열 9번째 요소에서 9번째 요소까지의 합 = 1 배열 1번째 요소에서 8번째 요소까지의 합 = 40 문제 풀이 내장 함수 sum을 이용하면 쉽게 풀 수 있다. 완성된 코드 n = int(input()) n_l = list(map(int, input().split())) for _ in range(int(input())): a, b = map(int, input().split()) p..

article thumbnail
새해 복 많이 받으세요~
일상/일기 2022. 1. 1. 17:13

다들 새해 복 많이 받으세요~ 다들 원하고 바라시는 일 잘 되시길 빕니다. 제가 범띠이기도 하고 이번 해가 '임인년'이라고 하더군요. 저도 지금시기가 중요하기도 하고 제가 바라고자, 이루고자 하는 목표가 꼭 이뤄졌으면 좋겠습니다. ㅎㅎ 현재 강릉에 살고 있다 보니 해돋이를 볼 수 있었습니다. 크레인에 가려져서 보기 불편할 수 도 있으나 양해해주세요. 다들 좋은 하루 보내시고 맛있는 거 많이 드세요~

article thumbnail
2021년 마지막 날...
일상/일기 2021. 12. 31. 22:48

오랫동안 글을 쓰지 않아 앞뒤 맥락이 없습니다. 양해해주시기 바랍니다. 3주간의 기말고사가 끝나고 3학년 2학기가 끝났다. 6과목 중 한 과목이 대면 시험이라 학교를 가서 시험을 보게 되었고 백신 패스로 인해서 가게와의 갈등도 생겼었다. 포스팅하지 않은 기간 동안 많은 일들이 있었고 블로그에 정치색을 드러내고 싶지 않아 백신 패스 얘기는 건너뛰겠다. 시험이 끝나고 1주간 핑핑 놀았다. 미접종자이기에 나가지는 못하고 집에서만 놀 수 있었다. 놀면서 회고해보았다. 내가 반년동안 잘해왔나? 뭐가 부족했었나? 시간을 잘 썼었나? 하고자 하는 바를 이루었는가? 등을 말이다. 물론 1일 1커밋. 끊이지 않았다. 습관이 되어 어디 놀러 갈 때도 노트북을 들고나가고 항상 쉽던 어렵던 1문제를 풀어서 커밋 푸시를 찍었던..

article thumbnail
1일 1커밋(GitHub) 5달째 후기
일상/일기 2021. 12. 9. 21:43

11월 말 ~ 12월 초 들어서 백준 실버 문제들을 건드리고 있다. 그 이전까지는 외부 프로젝트로 인해 학업에 지장이 생겨 좀 바빴다. 학업에 지장이 생기면 안 되고 건강도 나빠졌기 때문에 외부 프로젝트와 관련된 건 포기하였고 포기하길 잘한 것 같다고 생각됐다. 1일 1커밋(GitHub) 4달째 후기 쉬운 알고리즘을 주로 풀고 올렸기에 가능했다고 할 수 있다. 1일 1커밋 세 달째 후기이다. 1일 1커밋(GitHub) 3달째 후기 사실 포스팅하려고 맘을 먹었지만... 임시저장을 눌러놓고 미루다 미뤄서 begin-dev-awos.tistory.com 이번 주 포함, 3주간 기말고사라 빠듯하다. 기말고사가 끝나고 겨울 방학이 시작되면 개발 프로젝트에 참여를 할 것 같다. 스마트홈 프로젝트라고 해야 하나.....

article thumbnail
[python] 백준 1037번 약수
알고리즘/백준 2021. 12. 6. 22:17

문제 풀이 보자마자 그림을 한번 그려봤다. 검은색 : 테스트 케이스의 입, 출력 빨간색 : 테스트 케이스 출력에서의 1과 자기 자신 파란색 : 찾아낸 규칙 처음에 짜 본 코드다. sorted 내장 함수로 입력받은 수들을 정렬하였다. 또한 N의 약수의 개수가 홀수일 때, 짝수일 때를 판별하여 N을 구하도록 했다. ex) 홀수일 경우, N의 약수의 개수 = 1, input = 5, out = 25 25의 약수는 1을 제외한 5 뿐이기 때문에 제곱하여 반환시켜주면 25가 나온다. ex) 짝수일 경우, 입력받은 약수들이 list형태로 있기 때문에 최솟값 * 최댓값을 하면 N이 나오게 된다. N = int(input()) l = sorted(map(int, input().split())) if N % 2 == 1..

article thumbnail
[python] 백준 1003번 피보나치 함수
알고리즘/백준 2021. 12. 5. 23:25

문제 풀이 이해가 잘 안 될 때 직접 그림을 그려보는 것도 좋은 방법이다. 1열 : N, 2열 : 0이 등장하는 횟수, 3열 : 1이 등장하는 횟수라고 보면 될 것 같다. 이렇게 쓰고보니 2열과 3열에서 규칙이 보여 아래와 같이 작성해봤다. 1의 개수처럼 0도 피보나치로 가능하였기 때문에 아래의 코드처럼 돌렸지만 시간 초과가 나왔다. import sys def fibonacci0(n): if n == 0: return 1 elif n == 1: return 0 else: return fibonacci0(n-1)+fibonacci0(n-2) def fibonacci1(n): if n == 0: return 0 elif n == 1: return 1 else: return fibonacci1(n-1)+fib..

article thumbnail
Aero 17 KB 노트북 Ram 업글.
일상/일기 2021. 12. 5. 19:19

기존에 이런 글을 썼었는데 하단 글 참고 노트북 RAM 업글 중... 1년 하고 2개월이 넘은 내 AERO 17 KB 노트북... 전공이 전공인지라 구글 창에 IDE 2개 정도 켜놓기만 하면 RAM 16GB 가지고는 좀 부족하다는 걸 알게 되어 8달 동안 다나와에서 램 값이 떨어지길 고대하 begin-dev-awos.tistory.com 혹시나 내가 드라이버 규격을 잘못 알고 있나 해서... 노트북 판매자님께 전화를 해서 t6라는 걸 확실히 했다. 자가 수리를 한 번만 더 해보자 해서 아래의 제품을 배송시켰다. 안돼면... 그냥 서비스센터나... 출장 맡겨야겠죠...😭 해당 유튜버 분의 영상을 보고 와 이거다 하고 구매를 했다. (당연히 내가 필요한 t6 규격의 드라이버도 있었다.) 배송이 와서 노트북 ..

article thumbnail
노트북 RAM 업글 중...
일상/일기 2021. 11. 26. 22:11

1년 하고 2개월이 넘은 내 AERO 17 KB 노트북... 전공이 전공인지라 구글 창에 IDE 2개 정도 켜놓기만 하면 RAM 16GB 가지고는 좀 부족하다는 걸 알게 되어 8달 동안 다나와에서 램 값이 떨어지길 고대하고 고대하던 중 비트코인이 폭락하면서 램 값도 정상화가 되었다. 때 맞춰 램을 샀는데... 웬걸... 노트북 하판이 별 렌치(t6 규격의 나사)로 되어 있어 주변 다이소나 종합마트를 가보았지만 t6 별렌치가 없어 다나와에서 간단히 주문하여 오늘 왔다. 하지만 꽉 조여져 있는 나사들 때문에 드라이버가 헛돌기에 힘을 좀 주었더니 마모가 된 상태... 또 내장 자석이 없어서 나사를 풀어도 빼낼 수가 없어... 인내심을 길러주는 드라이버세트다. 본인이 부처가 되고 싶다면 이 드라이버 세트를 추천..

article thumbnail
[python] 백준 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰
알고리즘/백준 2021. 11. 26. 22:00

문제 풀이 문제에 있는 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수를 리스트에 저장해두고 입력을 다른 리스트에 받아 두 리스트의 차이값을 출력하면 되는 문제이다. 완성된 코드!!👍😊 chess = [1, 1, 2, 2, 2, 8] count = list(map(int, input().split())) for i in range(len(chess)): chess[i] -= count[i] print(' '.join(map(str, chess)))

article thumbnail
[python] 백준 2161번 카드1
알고리즘/백준 2021. 11. 25. 21:18

문제 풀이 문제에서 N=4인 경우에 버린 카드는 1 3 2가 되고 남는 카드는 4가 되어 출력 결과가 1 3 2 4가 되길래 짝수 홀수로 나누면 될 줄 알았다. 하지만 테스트 케이스 1번에서 출력 결과가 1 3 5 7 4 2 6이 되는 것에 대해서 도무지 이해가 안 되어 결국 그림을 그려 이해를 하고 어떻게 하면 풀 수 있을지를 알아냈다. 그림에서와 같이 cnt 값에 따라서의 2가지의 작업을 돌리면 되었다. 1. cnt가 홀수면 첫 번째 원소 값을 원래 리스트에서 pop 하고 다른 리스트에 append 2. cnt가 짝수면 첫 번째 원소 값을 원래 리스트에 append 하고 원래 리스트에서 첫 번째 위치에 있는 원소 값을 pop 대부분의 사람들은 데크(dequeue)로 푸셨던데 아직 본인은 쓸 줄 몰라 ..

article thumbnail
[python] 백준 10845번 큐
알고리즘/백준 2021. 11. 24. 21:36

문제 풀이 명령어 6가지 중 push 명령어는 해당 명령어만 실행하고 출력은 없다. 테스트 케이스 입력 부분을 보면 파라미터를 2개, 1개 받는 경우가 있기 때문에 함수를 써서 하나의 인자는 받고 다른 인자는 default로 두어 해당 명령어가 들어오면 명령어 역할에 맞게 실행시켜주면 될 것 같았다. def 함수명(a, b=0): return queue는 리스트 구조를 이용하였고, 명령어를 받기 위해 빠른 입출력의 sys.stdin.readline()을 이용하였다. 그냥 입출력을 쓰면 시간 초과가 나게 된다. 또한 입력 명령어 중에 push 같은 경우 공백을 포함한 두번째 인자 값을 받아서 정수형(int)으로 만들어 줘야 하므로 split함수로 입력받았다. cmd = sys.stdin.readline()..

article thumbnail
자율주행 프로젝트. 후회?
일상/일기 2021. 11. 23. 23:14

중간고사가 끝나고 할 게 있나 싶어서 비교과도 듣고 자율주행 프로젝트를 참여하게 됐었는데... 대충 2주 정도를 해보았는데... 조금 찌름 했다. 3학년 2학기라 그런지 과제가 그렇게 빈도 있게 자주 있진 않았지만 하나하나가 묵직했다. 비교과도 신청해놓고 듣느라... 시간이 빠듯했고 거기다 한 달 알바 느낌으로 자율주행 프로젝트를 가볍게 하려고 신청했다. 계약 전 설명회와는 다르게 일의 비율 100중 80을 요구했는데 계약 후 일주일 양을 끝내고 피드백을 2~3일 뒤에 받았는데 100을 요구하더라... 설명회를 했던 사람 A과 담당자 B는 달랐던 것... (설명회에서 안 보이는 건 하지 말라면서 담당자가 지금은 안 보여도 하라는...) 차라리 설명회에서 담당자 B가 나와서 설명했다면 더 나았을 듯싶다. ..

article thumbnail
[python] 백준 1598번 꼬리를 무는 숫자 나열
알고리즘/백준 2021. 11. 23. 22:44

문제 풀이 두 수의 제한 조건은 10,000,000 이하. 입력을 1과 10000000을 입력받았을 때, 반복문으로 배열을 생성하게 되면... 시간 초과가 날게 분명해서 반복문은 아닐 거라 판단했다. 규칙이 보일거라 생각한다. 입력받은 값에서 1을 빼면 몫과 나머지의 값들이 행열의 값들과 일치하고 입력받은 각각의 행열들의 사칙연산을 하고 절대값을 씌워주면 직선거리 값이 나온다는 것을 알 수 있다. 완성된 코드!👍😊 a, b = map(int, input().split()) a -= 1 b -= 1 print(abs(a // 4 - b // 4) + abs(a % 4 - b % 4))

article thumbnail
1일 1커밋(GitHub) 4달째 후기
일상/일기 2021. 11. 8. 17:50

쉬운 알고리즘을 주로 풀고 올렸기에 가능했다고 할 수 있다. 1일 1커밋 세 달째 후기이다. 1일 1커밋(GitHub) 3달째 후기 사실 포스팅하려고 맘을 먹었지만... 임시저장을 눌러놓고 미루다 미뤄서 일주일이 지난 오늘 포스팅한다. 2달째와 마찬가지로 결과부터 올린다. 1일 1커밋 두 달째 된 날의 포스팅이다. 1일 1커 begin-dev-awos.tistory.com 누가 보기엔 대학생이니까 취업한 사람보다 안 바쁘지 않냐? 이렇게 볼 수도 있다. 10월 한달간 시험 기간이라 11월에는 여유로운 대학 라이프를 즐길 수도 있었다. 하지만 군대를 갔다오고 3학년 2학기이기도 하고 얼마 남지 않은 올해, 내년, 그리고 취준생... 그래서 불안해짐과 동시에 나의 불확실한 미래에 대한 준비를 하기 위해 여러..

article thumbnail
중간고사가 끝났습니다.
일상/일기 2021. 11. 3. 23:30

생각보다 시험 기간이 길었습니다. 한 달 정도를 잡아먹었네요. 마지막 시험이 KT, SKT 서버가 터져서 크흠... (재시험 쳤죠...) 잘 본시험도 있고 아예 못 본시험도 있었습니다. 성적은 어찌나올지는 모르겠으나 각 과목당 수준 차이가 이렇게 심할 줄은 상상도 못 했어요 ㅎㅎ 학과가 학부제로 바뀌고 하다보니 족보 이런 것도 없고 전공 교수님들의 시험 출제 유형들은 전혀 없는 상태였고 책도 없이 그냥 녹강때 ppt자료나 강의 위주로 하시는 분들이 있었습니다. 시험 문제는 재미있었습니다. 단지 한 과목에서 멘탈이 산산조각 날정도로 타격을 입었더니 정신을 못 차릴 뻔했네요 ㅎㅎ 기말고사 때 만회를 해야할텐데 쉽지 않습니다... . . . 오늘 부터 자율주행 관련해서 외부 프로젝트를 참여하게 되었어요. 처음..

article thumbnail
[python] 백준 1076번 저항
알고리즘/백준 2021. 11. 3. 19:16

문제 요약 및 풀이 예제 1을 참고해보자. 값과 곱의 규칙은 10의 제곱수의 규칙과 같다고 볼 수 있다. 첫 번째 입력값 Yellow = 4 두번째 입력값 violet = 7 세번째 입력값 red = 100으로 출력은 4700이 된다. 마지막에 들어온 입력값은 곱으로 계산해주면 되고 나머지 입력값들은 뒤에 붙여주면 된다. 코드를 보자. 색상 값, 곱의 표를 dictionary로 표현하였고 입력이 3개라는 것을 이용하여 for문의 range가 0, 1, 2 총 3개의 범위이기 때문에 마지막 index인 2가 올 때 10의 제곱수를 곱해주도록 하였다. ex) input -> yellow, violet, red 색 yellow violet red 배열 인덱스 0 1 2 값 4 7 100 최종 출력 4700 이..