목록전체 글 (307)
코딩하는 해맑은 거북이
본 게시물의 내용은 '인공지능(AI) 기초 다지기(부스트코스)' 강의를 듣고 작성하였다. 해당 글은 1-1. 파이썬/AI 개발환경 준비하기 4가지 파트를 다룬다. 1. Basic computer class for newbies 2. 파이썬 개요 3. 파이썬 코딩환경 (OS 및 코드편집기) 4. 파이썬 코딩환경 (Jupyter notebook) 1. Basic computer class for newbies - 컴퓨터 OS Operating System, 운영체제, 우리의 프로그램이 동작할 수 있는 구동 환경 Software가 Hardware와 연결되기 위한 기반이 되는 시스템 ex) Windows, MacOS, Chrome, Office 제품 cf) Hardware : CPU, Memory, DRAM, ..
해당 글은 백준 2667번 문제 '단지번호붙이기'를 다룬다. 문제 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 설명 DFS로 방문하지 않았으면 index를 증가시켜 상하좌우를 방문한다. 그리고 단지내 집수를 구하기 위해 house_count 리스트를 만들어서 dfs를 돌때마다 증가시킨다. 마지막에 정렬한 후 출력하면 된다. 코드 def dfs(x, y, index): data[x][y] = index house_count[index-2] +=..
해당 글은 백준 2178번 문제 '미로 탐색'을 다룬다. 문제 https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 설명 BFS로 이동할 수 있으면 +1 씩 더해서 총 이동거리를 계산하였다. 그리고 마지막 행렬의 [n-1][m-1] 인덱스의 값이 최소 이동 칸 수 이다. 코드 from collections import deque def bfs(x, y): q = deque() q.append((x, y)) while q: x, y = q.popleft() for i in range..
해당 글은 백준 16234번 문제 '인구 이동'을 다룬다. 문제 https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 설명 모든 나라의 위치에서 상하좌우 국경선을 열 수 있는지 확인해야하므로 BFS/DFS로 문제를 풀어야 한다. 해당 코드는 BFS로 풀었으며, while문의 종료조건으로 각각의 나라가 다른 index를 가진다면 즉, index의 값이 n*n이 되면 break한다. 코드 from collections import dequ..
해당 글은 백준 1475번 문제 '방 번호'를 다룬다. 문제 https://www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 설명 숫자 6은 숫자 9로 바꿔쓸 수 있고, 숫자 9는 숫자 6으로 바꿔쓸 수 있으므로 숫자 6과 9의 합을 2로 나눈 몫 값과 나머지 값을 더한 값이 숫자 6, 9를 나타낼 수 있는 총 숫자셋트 값이다. 그러므로 배열의 숫자 6, 9의 값을 하나는 0, 하나는 숫자셋트값으로 업데이트 한 후 배열의 가장 큰 값이 필요한 숫자셋트이다. 코드 s = list(input()) arr = [0 for i in range(10)] for i i..
해당 글은 프로그래머스 문제 '점 찍기'를 다룬다. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/140107 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설명 처음에는 2중 for문으로 해결하려했으나, 시간초과로 많은 시간을 쓴 문제이다. 최종적으로는 1개의 for문을 사용해서 해결해야 하는 문제이다. 이는 원점을 중심으로 반지름 d를 가지는 원을 그려보면 이해가 된다. 각각의 x에 대한 y의 최대값을 구하고, x는 k씩 증가하므로 (k로 나눠준 값 + 1)을 하면 정답을 구할 수 있다. ..