전체보기

프로그래머스의 레벨 2 문제 리코쳇 로봇 문제 요구 조건 이해하기 보드 게임판의 시작 지점에서 목표 지점까지 최소 몇 번 만에 도착할 수 있는지 찾아야 한다. 내 풀이 방법 최소 이동 횟수를 구하는 문제이므로 BFS를 사용해서 풀 수 있다고 생각했다. 최소 이동 횟수를 구해야 하므로 BFS를 구현할 때, 턴을 나눠서 행동하도록 했다. 그리고 도달할 수 없는 경우는 모든 포지션을 방문하고 큐가 비었을 때라고 생각했다. 미끄러지는 이동을 담당하는 move 함수를 만들고, BFS를 사용해서 풀었다. from queue import deque ​ def move(pos, board, direction): board_height = len(board) board_width = len(board[0]) if dir..
코딜리티의 Easy 문제 PassingCars 문제 요구 조건 이해하기 배열을 순회하면서 원소의 값이 1이라면 그 이전 인덱스까지의 원소들 중에 0이 몇 개나 존재하는지 세어야 한다. 내 풀이 방법 문제 카테고리가 구간합인걸 보고 힌트를 얻었다. 누적합 배열을 만들고, 주어진 배열을 순회하며 값이 1인 곳의 index - 누적합[index] + 1이 이전까지의 원소들 중 0의 개수라는 것을 이용했다. def solution(A): sum_array = [A[0]] result = 0 ​ for i in range(1, len(A)): sum_array.append(A[i] + sum_array[i-1]) for i, value in enumerate(A): if value == 1: result += i..
· Tool/Python
안녕하세요. 파이썬으로 discord.py 모듈을 사용해서 디스코드 봇을 개발하는 방법을 공유합니다. 사용자의 입력에 따라 행동하는 커맨드와 정해진 시간에 정기적으로 작동하는 기능을 가진 봇입니다. 혹시 글에서 잘못된 내용이 있거나 궁금하신 점이 있다면 말씀해 주세요!Discord Developer Portal에 가입해서 애플리케이션 만들기디스코드 봇을 개발하기 위해서는 우선 디스코드 개발자 포탈에 가입해서 애플리케이션(봇)을 만들고, 해당 애플리케이션의 토큰을 발급받아야 합니다. 아래의 사진과 같이, 해당 앱의 설정 - 봇 메뉴에서 Reset Token을 실행해서 토큰을 얻습니다. 이 토큰은 공유하지 마시고 노출되었다면 Reset Token으로 갱신해 주세요.디스코드 봇을 내 채널에 초대하기초대할 앱의..
· Game
안녕하세요. 리그 오브 레전드(롤)에서 GPU Error가 발생한 상황과 제가 해결한 방법을 공유합니다. 리그 오브 레전드(롤) GPU Error 문제 발생 상황 오류 발생 전날에도 문제없이 사용하다가, 갑작스럽게 문제가 발생했습니다. 게임을 시작하고 1분 정도가 지나면 위와 같은 오류가 발생했습니다. 사용하는 그래픽카드는 MSI GTX 1660 SUPER, 드라이버 버전은 516.94, 사용 기간은 약 4년입니다. 문제의 원인 추측 리그 오브 레전드에서만 발생하는 문제인지 확인하기 위해 다른 게임을 실행했으나, 알 수 없는 오류 메시지와 함께 다른 게임도 실행되지 않는 것을 확인했고, 그래픽카드에 문제가 발생했다는 것을 확신했습니다. 오류 메시지를 참고해서 오류가 발생할 가능성이 있는 원인들을 추측해 ..
· Life
안녕하세요. 오늘 리뷰할 책은 객체지향의 사실과 오해입니다. 객체지향 프로그래밍은 프로그래밍을 어느 정도 배웠다면 모두가 알게 되지만, 올바르게 사용하려면 많은 학습과 경험이 있어야 한다고 생각합니다. 저도 객체지향 프로그래밍을 알게 된 지 코딩을 하다 보면 어느 순간 책임이 많은 거대한 클래스를 만들곤 했습니다. 이 책을 읽으면서 제가 왜 거대한 클래스를 만들 수밖에 없는 오해를 하고 있었는지와 올바른 객체지향 프로그래밍에 필요한 중요한 개념들을 배우고 생각할 수 있었습니다. 학습할 수 있었던 내용 이 책은 객체지향 프로그래밍에서 오해하기 쉬운 개념들과 중요한 개념들을 여러가지 비유를 통해서 설명합니다. 책을 읽으면서 객체지향 프로그래밍에서 중요하다고 생각한 점들은 아래와 같습니다. 다만, 개인마다 책..
프로그래머스의 레벨 2 문제 숫자 카드 나누기입니다. 문제 요구 조건 배열 A, B가 있을 때 A 원소들의 공약수이면서 B 원소들은 하나도 나눌 수 없는 수 중에서 가장 큰 수를 구하고, B 원소들의 공약수이면서 A 원소들은 하나도 나눌 수 없는 수 중에서 가장 큰 수를 구해서 더 큰 수를 리턴해야 합니다. 내 풀이 방법 배열의 범위가 크고 원소 값의 범위도 크기 때문에 완전탐색으로 해결할 수 없는 문제라고 생각했습니다. 탐색 시간을 줄이기 위해서 각 배열에서 가장 작은 수의 약수만 구합니다. 구한 약수들을 큰 순서대로 탐색하면서 조건에 맞는지 확인합니다. # 배열의 길이가 50만, 원소의 범위는 1~1억이다. # 이걸 일일이 확인하면 시간 내에 풀 수 없다. # 시간을 단축하는 방법으로, 나눌 수 있는..
도_유
'분류 전체보기' 카테고리의 글 목록 (16 Page)