파이썬(30)
-
[Programmers/Lv. 0] 코딩테스트 입문 Day 4 - 수학, 배열 (Python)
1. 피자 나눠 먹기 (1) (문제 설명, 제한사항, 입출력 예) 피자를 나눠먹을 사람의 수가 주어졌을 때, 이 모든 사람이 한 조각 이상 먹기 위해 필요한 피자의 수를 구하라는 문제다. 단, 한 피자는 일곱 조각으로 잘라준다. (내가 생각한 풀이 과정) 1부터 7까지는 1판, 8부터 14까지는 2판, 15부터 21까지는 3판... 이런 식으로 7의 배수를 기준으로 반환값이 구분된다. 즉, n값을 7로 나누었을 때 그 결괏값을 참고한다면 문제를 해결할 수 있을 것 같았다. 7을 7로 나누면 1이지만, 1부터 6사이의 값을 7로 나누면 0이 나오니 +1을 시켰다. 마찬가지 14를 7로 나누면 2이지만, 8부터 13 사이의 값을 7로 나누면 1이 나오니 +1을 시켰다. 이런 식으로 7의 배수인 값과 그 이전..
2023.03.11 -
[Programmers/Lv. 0] 코딩테스트 입문 Day 3 - 사칙연산, 배열, 수학 (Python)
1. 나머지 구하기 (문제 설명, 제한사항, 입출력 예) 함수의 매개변수로 주어진 정수 num1, num2를 나눈 나머지를 구하라는 문제다. (내가 생각한 풀이 과정) Day 1에서 사용했던 람다식과 나머지를 구하는 연산자 "%"를 사용했다. (코드) 더보기 💡 내 코드 solution = lambda num1, num2: num1%num2 2. 중앙값 구하기 (문제 설명, 제한사항, 입출력 예) 홀수 길이의 array 배열이 입력되면, 중앙값을 찾아 반환하라는 문제이다. (내가 생각한 풀이 과정) sort 함수를 이용해서 배열을 정렬시키고, 배열 길이의 나누기 2인 인덱스 값을 찾아 반환하면 된다. (코드) 더보기 💡 내 코드 def solution(array): array.sort() return a..
2023.02.16 -
[Programmers/Lv. 0] 코딩테스트 입문 Day 2 - 사칙연산, 조건문, 배열 (Python)
1. 두 수의 나눗셈 (문제 설명, 제한사항, 입출력 예) 함수의 매개변수로 주어진 정수 num1, num2를 나눈 값에 1,000을 곱한 후 정수 부분만 return 하라는 문제이다. (내가 생각한 풀이 과정) 말 그대로 두 값을 나누고, 1000을 곱하고, 정수로 반환시킨다. (코드) 더보기 💡 내 코드 def solution(num1, num2): return int(num1/num2*1000) 2. 숫자 비교하기 (문제 설명, 제한사항, 입출력 예) 함수의 매개변수로 들어온 정수 num1, num2가 같으면 1, 다르면 -1을 반환하라. (내가 생각한 풀이 과정) 당연히 if문을 쓸건데, 파이썬스러운 코드를 활용했다. (코드) 더보기 💡 내 코드 def solution(num1, num2): re..
2023.02.15 -
[Algorithm] 2023년 다시 세워보는 알고리즘 공부 계획 (feat. 자기 반성)
정말 오랜만에 작성하는 블로그 글이다.우선 핑계를 대고 시작을 하자면, 그동안 군대 막사 이동, 사이버 지식 정보방의 공사, 바쁜 분대장의 업무 등으로.. 컴퓨터를 만질 수 없는 상황이 계속되다 보니 군대 안에서도 블로그 유지와 알고리즘 공부 등 여러 공부를 하겠다는 나의 계획은 처참히(?) 무너졌었다..아무리 그래도 그렇지.'정말 아무런 공부도 할 수 없는 상황이었을까'라고 묻는다면 그건 아니다. 그동안 나 자신도 많이 나태해졌었고,,, 방법을 바꾸면 충분히 할 수 있는 상황임에도 불구하고 그런 노력조차 하지 않았기 때문에 늦게 오게 된 것이 아닐까 한다.아무튼 작년에 내가 하고자 했던 것은 책 "파이썬 알고리즘 인터뷰"라는 책을 구매하고, 이 안에 수록되어 있는 95문제를 꾸준히 풀어서 블로그에 나의..
2023.02.10 -
[Algorithm] 내가 보려고 정리하는 파이썬 연결 리스트(Linked List) 기초
1. 연결 리스트 (Linked List) 기본 개념연결 리스트(Linked List)란 선형 자료구조 중 배열과 함께 가장 기본이 되는 개념으로,"물리 메모리 어딘가에 흩뿌려진 노드(Node)들이 서로 연결된 형태로 구성된 자료구조"를 의미한다.그럼 잠깐, 여기서 노드(Node)가 무엇인지 설명이 필요할 수도 있겠다.노드(node)는 "데이터(값) + 다음 노드의 주소(포인터)"를 담고 있는 형태로 이루어져 있는 녀석이다.즉 다시 연결 리스트의 개념으로 돌아가자면, 다음 노드의 주소를 노드 자체에서 담고 있기 때문에 물리 메모리 상에서는 데이터가 여기저기 흩어져 있더라도, 서로 연결된 구조로 사용할 수 있는 것이다.이러한 특징 때문에 연결 리스트(Linked List)는 동적으로 새로운 노드를 삽입하거..
2022.06.06