python 5

[백준/python] 1074번 Z

1. 문제 이 문제는 배열을 한 변의 길이가 2 ** n인 배열을 Z 모양으로 탐색하며r행 c열을 몇 번째로 방문하는지 출력하는 프로그램이다.r과 c, 그리고 순서 모두 0부터 시작한다. 2. 풀이재귀적으로 접근하기! 4등분을 반복한다!1. 만약 size가 1이 될 경우 ans는 start로 초기화한다.2. size가 2 이상인 경우 배열을 4등분하여 r과 c가 어디에 위치하는지 확인한다.3. 해당 사분면에 대해서 r과 c의 값을 갱신하고 해당 조각의 가장 왼쪽 위가 몇 번째인지를 구한다.4. 위와 같은 방법으로 find 함수를 반복한 뒤 ans를 출력한다. 3. 코드import sysinput = sys.stdin.readlinedef find(start, size, r, c): global an..

[백준/python] 15810번 풍선 공장

1. 문제 이 문제는 풍선 m개를 만드는데 걸리는 최소 시간을 구하는 문제이다.스태프마다 만드는 속도가 다른 상황에서 짧은 시간 안에 최소 시간을 구해야 한다. 2. 풀이1. l, r을 양 끝 숫자 0과 max(time) * m으로 초기화한다.2. l보다 r이 크거나 같은 동안 반복문을 실행한다.3. 두 수의 중간값 mid에 대하여 스태프마다 해당 시간에 몇 개를 만들었는지 그 합을 구한다.4. 그 값이 m보다 크거나 같을 경우 답을 mid로 초기화하고 최솟값을 찾기 위해 r을 mid - 1로 바꾼다.5. 아닌 경우 l을 mid + 1로 바꾸어 계속 탐색한다.3. 코드import sysinput = sys.stdin.readlinen, m = map(int, input().split())time = li..

[백준/python] 16508번 전공책

1. 문제 이 문제는 각 단어별 가격이 있고 단어를 조합해서 목표 단어를 만들되, 가격을 최소로 하는 문제이다.2. 풀이알파벳의 개수와 같은 길이의 배열을 만들어 그 원소를 하나씩 비교한다.1. word 배열 -> t에 주어진 단어에 들어가는 알파벳 개수 표시2. arr 배열 -> 전공책 각각 주어진 단어에 들어가는 알파벳 개수 표시3. 금액은 inf로 초기화하고 x 배열을 넣어서 word_making 함수 실행4-1. x 배열의 어떤 원소가 word 배열의 원소보다 작은 경우    -> 단어를 만들 수 없으므로 result를 False로 바꾸고 반복문 탈출4-2. x 배열의 모든 원소가 word 배열의 원소보다 큰 경우    -> 단어를 만들 수 있다는 뜻 -> price 갱신 후 return5. 4-..

[백준/python] 16926번 배열 돌리기 1

1. 문제이 문제는 배열을 반시계 방향으로 R번 회전시킨 결과를 구해 출력하는 문제이다. 2. 풀이귀찮고 오래 걸릴 것 같은 구현 문제였다.풀기 싫어서 이틀은 미루었다..ㅠㅠ 배열에서 어느 위치에 있느냐에 따라 돌렸을 때 자리까지 돌아오는 횟수가 달라진다.최대한 시간을 줄이기 위해 꼭 필요한 만큼만 돌려야겠다는 생각을 했다.즉, 다시 자기 자리에 돌아와 한 바퀴 회전하는 경우를 빼야 한다는 것.전체 길이로 돌리는 횟수를 나눈 나머지 만큼만 돌리면 된다. 2차원 배열로는 어려워서 1차원 배열로 바꾸기로 정했다.좀 지저분하지만 각각의 그룹을 모두 분리해냈고,그 뒤에 1차원 배열 내에서 돌리기를 쉽게 수행했다. 그 뒤 다시 2차원 배열로 바꾸어 출력해주었다. 3. 코드n, m, r = map(int, inpu..

[이직기록] 2023년 하반기 개발 공부 계획 수정

그간 포스팅이 뜸했다. 마음의 정화를 위해 8월 중순부터 여행을 잔뜩 다녀왔다. 제주도 여행과 부산 여행을 통해 마음이 조금이나마 가벼워졌다. 이제 9월, 다시 달릴 시간. 이산수학 강의를 듣다가 이상한 부분들을 발견했다. 강의 앞뒤가 잘려 있어 숙제를 못 듣거나 ppt에 빠진 내용이 있었던 것. 그래서 조금 더 최신 자료를 이용하고자 coursera를 검색했다. 내가 선택한 과정은 Introduction to Discrete Mathematics for Computer Science이다. 이 강의에는 5개의 강좌가 포함되어 있다. 1. Mathematical Thinking in Computer Science (6주) 2. Combinatorics and Probability (6주) 3. Introd..

이직 기록 2023.09.02