본문 바로가기

분류 전체보기464

[Python3] 백준 1449번 수리공 항승 사용 언어 - Python3 문제 - 수리공 항승 1449번: 수리공 항승 첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나 www.acmicpc.net 정답 조건문 (정답 맞춘 여부 X) 테이프를 처음 붙이는 start 지점에서 테이프길이 L 사이에 또 다른 물이 새는 위치가 있다면 continue 아니라면, start 지점 이동 + 테이프 한개를 더 사용해야하므로 cnt += 1 import sys input = sys.stdin.readline N,L = map(int,input().split()) #N물이 새는 곳의 개수 / L테이프의 길이.. 2023. 4. 5.
[Python3] 백준 1270번 전쟁 - 땅따먹기 사용 언어 - Python3 문제 - 전쟁 - 땅따먹기 1270번: 전쟁 - 땅따먹기 첫째 줄에는 땅의 개수 n(n 2023. 4. 5.
[Python3] 백준 1166번 선물 사용 언어 - Python3 문제 - 선물 1166번: 선물 민식이는 아이들에게 선물할 같은 크기의 작은 박스를 N개 가지고 있다. 모든 작은 박스는 정육면체이고, 크기는 A × A × A 이다. 민식이는 이 작은 박스를 크기가 L × W × H 인 직육면체 박스에 www.acmicpc.net 정답 이분 탐색 문제 (정답 맞춘 여부 X) 1. L, W, H를 구하려는 값 A로 나누었을 때 N보다 작거나 같아야하므로 A를 구하기 위한 이분탐색을 사용한다. A는 최소 0개 부터 쵀대 max(L,W,H)개 까지 있을 수 있으므로, left = 0, right = max(L,W,H), mid = (left+right)//2 이다. 만약 N개의 상자를 모두 넣을 수 있다면(= N보다 작거나 같으면), left =.. 2023. 4. 4.
[Python3] 백준 1072번 게임 사용 언어 - Python3 문제 - 게임 1072번: 게임 김형택은 지금 몰래 Spider Solitaire(스파이더 카드놀이)를 하고 있다. 형택이는 이 게임을 이길 때도 있었지만, 질 때도 있었다. 누군가의 시선이 느껴진 형택이는 게임을 중단하고 코딩을 하기 시 www.acmicpc.net 정답 이분 탐색 문제 (정답 맞춘 여부 X) 1. 파이썬에서 소숫점 버린 승률 구하기 (Y//X)*100 파이썬에서 부동소숫점 오차로 오류! Z = (Y*100)//X 사용! 2. 예외 처리 형택이는 앞으로의 모든 게임에서 지지 않기 때문에 x+1, y+1이다. 만약 x==y 라면, x//y=100이고 x+1==y+1이라 Z값이 항상 같다. 절대 변하지 않는다. z가 99 이상이면 print(-1)을 출력해준다... 2023. 4. 4.
[Python3] 백준 1004번 어린 왕자 사용 언어 - Python3 문제 - 어린 왕자 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net 정답 출발/도착점-행성계 단순 계산 문제 (정답 맞춘 여부 X) 1. "제곱"을 통해 반지름 크기 비교 행성계 반지름 vs 출발점, 행성계 x 반지름 행성계 반지름 vs 도착점, 행성계 y 반지름 행성계 반지름보다 안에 있으면 카운트+=1 T=int(input()) for _ in range(T): x1, y1, x2, y2 = list(map(int,input().split())) #출발점, 도착점.. 2023. 4. 2.
[Python3] 백준 1063번 킹 사용 언어 - Python3 문제 - 킹 1063번: 킹 8*8크기의 체스판에 왕이 하나 있다. 킹의 현재 위치가 주어진다. 체스판에서 말의 위치는 다음과 같이 주어진다. 알파벳 하나와 숫자 하나로 이루어져 있는데, 알파벳은 열을 상징하고, 숫자는 www.acmicpc.net 정답 위치 이동시키는 nx,ny 문제 (정답 맞춘 여부 X) 1. ord("A") = 64 외우자 2. 딕셔너리를 이용하여 방향 move 설정 king, stone, N = input().split() k = list(map(int, [ord(king[0]) - 64, king[1]])) s = list(map(int, [ord(stone[0]) - 64, stone[1]])) move = {'R': [1, 0], 'L': [-1,.. 2023. 3. 31.
[프로그래머스 lv 3] 네트워크 사용 언어 - Python3 문제 - 네트워크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 재귀적인 DFS 문제 (정답 맞춘 여부 X) 1. visited 방문여부 리스트 생성 2. for문을 두개 만들어서 인덱스 com, connect를 비교 값이 1이고, 방문여부가 False인 노드를 또 DFS 재귀함수를 돌리는 구조 com 인덱스를 방문한 후, com에서 connect 인덱스를 방문하기 때문에 DFS(n,computers,connect,visited)로 바뀜 방문한 connect를 기준으로 또 새로운 노드를 방문하려고 하는 재귀함수이다. 3... 2023. 2. 15.
[프로그래머스 lv 2] 모음사전 사용 언어 - Python3 문제 - 모음사전 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 순열조합 완전탐색 or 규칙 찾는 문제 (정답 맞춘 여부 X) 정답 풀이 1. product(리스트, repeat=반복횟수) 중복순열 이용하기 product는 처음 알게되었다. product(리스트, repeat=반복횟수) : 중복 순열. 1부터 5까지 반복해야하기 때문에 for문으로 구현한다. words 빈리스트에 list(중복순열)을 append해서 모든 가능한 조합을 저장한다. 그 뒤 words리스트를 sort 정렬을 하고, index를 찾는다. ind.. 2023. 2. 15.
[프로그래머스 lv 2] 전력망을 둘로 나누기 사용 언어 - Python3 문제 - 전력망을 둘로 나누기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 완전탐색 BFS 문제 (정답 맞춘 여부 X) 정답 풀이 해당 와이어를 끊었을 때, BFS를 돌려서 한쪽 영역의 노드 수를 구한다. BFS) 해당 노드를 방문하지 않은 경우, 연결된 노드수 result를 구한다. 앞서 저장된 answer값과 현재 result로 구한 노드 간의 차를 비교했을 때, 더 작은 값으로 return 한다. # 정답 from collections import deque def bfs(start,visited,graph): q.. 2023. 2. 10.
[프로그래머스 lv2] 피로도 사용 언어 - Python3 문제 - 피로도 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 순열을 활용한 완전 탐색 문제 (정답 맞춘 여부 X) 정답 풀이 from itertools import permutations permutations(list명, 원소개수) = 원소개수만큼 순열 만들기!!! 현재 피로도 k dungeons = [최소 필요 피로도,탐험후 소모 피로도] 방법1. answer = [] 빈 리스트를 만들어서 cnt 값 저장해주고, max값을 출력. 방법2. answer = -1 cnt값과 answer 값 비교해서 max값 출력. an.. 2023. 2. 10.