본문 바로가기
반응형

프로그래밍/알고리즘28

[BOJ][Python] 10816번 - 숫자카드2[정렬- 실버 4티어] 알고리즘 태그 [정렬] 태그 설명 정렬이란 데이터의 집합을 어떠한 기준의 대소관계를 따져 일정한 순서로 줄지어 세우는것 문제 백준 문제 - 숫자카드2 링크: 숫자카드2 문제설명 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오. 단순한 문제다. 말 그대로 상근이가 가지고 있는 카드가 정수에 있는지 없는지를 판단해서 결과값을 내어주면된다. (이 전 글이 숫자카드1 이여서 쉽게 풀거같아서 도전했다...하지만..예상치 못한 복병이 있었다.) 이진탐색을 사용하여 도전을 진행하였다. 예제 입력 10 6 3 2 10 10 10 -10 -10 7 3 8 10 9.. 2022. 3. 13.
[BOJ][Python] 10815번 - 숫자카드[정렬- 실버 4티어] 알고리즘 태그 [정렬] 태그 설명 정렬이란 데이터의 집합을 어떠한 기준의 대소관계를 따져 일정한 순서로 줄지어 세우는것 문제 백준 문제 - 숫자카드 링크: 숫자카드 문제설명 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오. 단순한 문제다. 말 그대로 상근이가 가지고 있는 카드가 정수에 있는지 없는지를 판단해서 결과값을 내어주면된다. 예제 입력 5 6 3 2 10 -10 8 10 9 -5 2 3 4 5 -10 예제 출력 1 0 0 1 1 0 0 1 📃 소스코드 및 설명 # 상근이가 가지고 있는 카드수 N = int(input()) # set을 사용하.. 2022. 3. 13.
[BOJ][Python] 1026번 - 보물[정렬- 실버 4티어] 알고리즘 태그 [정렬] 태그 설명 정렬이란 데이터의 집합을 어떠한 기준의 대소관계를 따져 일정한 순서로 줄지어 세우는것 문제 백준 문제 - 보물 링크: 보물 문제설명 옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[0] × B[0] + ... + A[N-1] × B[N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다. S의 최솟값을 출력하는 프로그램을 작성하시오. 예제 입력 1 5 1 1 1 6 0 2 7 8 3 1 예제 출력 18 즉, 2개의 리스트를 하나는 오름차순, 다른 하나는 내림.. 2022. 3. 12.
[BOJ][Python] 1015번 - 수열 정렬[정렬- 실버 4티어] 알고리즘 태그 [정렬] 태그 설명 정렬이란 데이터의 집합을 어떠한 기준의 대소관계를 따져 일정한 순서로 줄지어 세우는것 문제 백준 문제 - 수열 정렬 링크: 수열 정렬 문제설명 P[0], P[1], ...., P[N-1]은 0부터 N-1까지(포함)의 수를 한 번씩 포함하고 있는 수열이다. 수열 P를 길이가 N인 배열 A에 적용하면 길이가 N인 배열 B가 된다. 적용하는 방법은 B[P[i]] = A[i]이다. 배열 A가 주어졌을 때, 수열 P를 적용한 결과가 비내림차순이 되는 수열을 찾는 프로그램을 작성하시오. 비내림차순이란, 각각의 원소가 바로 앞에 있는 원소보다 크거나 같을 경우를 말한다. 만약 그러한 수열이 여러개라면 사전순으로 앞서는 것을 출력한다. 문제를 처음에 이해를 못했는데, 여러가지 글을 읽.. 2022. 3. 12.
[프로그래머스][Python] 가장 큰 수[정렬 - Level 2] [정렬] 태그 설명 정렬이란? 정렬이란 데이터의 집합을 어떠한 기준의 대소관계를 따져 일정한 순서로 줄지어 세우는것 문제 프로그래머스 문제 - 가장 큰 수 링크: 가장 큰 수 문제설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 즉, 리스트 내부의 숫자를 이용하여 새로운 숫자들의 조합을 생성하고 가장 큰 수를 추출해내면 된다. 📃 소스코드 및 설명(시간 초과 코드) from itertools import permutations def solution(numbers): numbsers_.. 2022. 3. 11.
[BOJ][Python] 14719번 - 빗물 [시뮬레이션 기본 - 골드 5티어] 알고리즘 태그 [시뮬레이션 기본] 태그 설명 시뮬레이션이란? 알고리즘을 풀 때 모든 과정이 제시되어 그 과정을 거쳐 나온 결과를 추론하는 문제입니다. 시뮬레이션은 설명해 준 대로 쭉 이행하면 됩니다. 문제 백준 14719문제 - 빗물 링크: 백준 14719 문제설명 특정 위치에 물이 고이는지 고이지 않는지를 판단한 후 이를 코드로 옮겨주면 된다. 그렇다면 어떻게 특정 위치에 물이 고이는지 안고이는지를 판단할 수 있을까??? 📃 소스코드 및 설명 # 투포인터 방식으로 양쪽끝을 기준으로 서로 비교해가면서 푸는 방식으로 접근 # ex) 4 4 h, w = map(int, input().split()) # ex) 3 0 1 4 block_height = list(map(int, input().split())) .. 2022. 3. 10.
반응형