Problem Solving
-
[프로그래머스] 이모티콘 할인 행사 - Python3Problem Solving 2023. 2. 26. 18:26
문제 각 이모티콘에 10, 20, 30, 40 프로의 할인율을 적용할 수 있고, 유저의 [구매 기준 할인율, 가입 기준 가격] 리스트와 이모티콘의 가격 리스트가 주어질 때, 이모티콘 플러스 가입자가 가장 높은 경우 중 이모티콘 판매 매출이 가장 높은 경우의 [가입자 수, 매출]을 반환하는 문제 https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 분류 - 완전 탐색, 중복 조합 난이도 - Level 2 소요 시간 - 20~30분 관련 개념..
-
[프로그래머스] 아이템 줍기 - Python3Problem Solving 2023. 2. 24. 15:47
문제 직사각형들의 좌측 하단과 우측 상단의 x,y가 주어질 때, 전체적인 형태의 테두리를 따라 출발지에서 목표지점으로 가는 최단거리를 구하는 문제 https://school.programmers.co.kr/learn/courses/30/lessons/87694 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 분류 - 깊이/너비 우선 탐색(DFS/BFS) 난이도 - Level 3 접근 방법 1) 테두리에 해당하는 좌표들 저장 이건 다른 방법이 생각나지 않아 완전탐색을 이용했다. 사각형들의 테두리에 해당하는 좌표들을 하나하나 탐색하며 그 좌표가 다른 ..
-
[프로그래머스] 단어 변환 - Python3Problem Solving 2023. 2. 24. 10:23
문제 begin 단어에서 words의 단어들을 거쳐 target이 되기 위한 최소 변환 횟수를 구하는 문제. 한 변환 당 한글자만 바꿀 수 있음. https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 분류 - 깊이/너비 우선 탐색(DFS, BFS) 난이도 - Level 3 접근 방법 1. BFS 최소거리니까 BFS가 유리할까 싶어 먼저 시도해봤다. words 내에 한 글자를 제외하고 스펠링이 같은 단어가 있으면, 큐에 (단어, 레벨)을 넣고..
-
[프로그래머스] 게임 맵 최단거리 - Python3Problem Solving 2023. 2. 23. 17:55
문제 전형적인 미로 탈출을 위한 최단거리를 구하는 문제 https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 분류 - 깊이/너비 우선 탐색(DFS/BFS) 난이도 - Level 2 관련 개념 최단거리를 찾는 문제의 경우, DFS보다 BFS가 효율적이다. 가령, 위 미로의 (3,3)에서 BFS로 뻗어나가면 앞으로 4번의 탐색으로 종료지점에 도달할 수 있고 그것이 최적의 해임을 보장하는 반면, DFS로 뻗어나가면 목표 지점에 도착하긴 하더라도 여..
-
[프로그래머스] 네트워크 - Python3Problem Solving 2023. 2. 22. 17:08
문제 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 분류 - 깊이/너비 우선 탐색 (DFS, BFS) 난이도 - Level 3 접근 방법 컴퓨터 하나씩 DFS로 접근해 같은 네트워크로 연결된 컴퓨터들을 탐색해 방문처리 했다. 새로운 컴퓨터를 파고들 때, 이미 방문..
-
[프로그래머스] 타겟 넘버 - Python3Problem Solving 2023. 2. 20. 20:47
문제 숫자 배열과 타겟 넘버가 주어질 때, 숫자 배열의 순서를 바꾸지 않고 각 숫자를 더하거나 빼서 타겟 넘버를 만들 수 있는 경우의 수를 구하는 문제 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 분류 - 깊이/너비 우선 탐색 (DFS, BFS) 난이도 - Level 2 접근 방법 백트래킹을 사용하여 숫자 하나하나마다 그 수를 더하는 경우와 빼는 경우로 가지를 뻗었고, 각 경우에 대한 계산 결과를 누적시켰다. 답안 코드 +2 ans..
-
[백준] 25330. SHOW ME THE DUNGEON - Python3Problem Solving 2023. 2. 17. 19:21
문제 설명 0번 마을을 제외한 N개의 마을에 각각 몬스터 한 마리와, 갇혀있는 주민들이 있다. 주인공 시루는 각 마을의 몬스터와 싸워 최대한 많은 수의 주민들을 구하려고 하는데, 각 마을을 방문할 때마다 소모되는 체력은 (이전까지 소모한 체력+이번 마을 몬스터 체력)이다. 몬스터 수 N, 시루의 초기 체력 K, 1~N번 마을에 있는 몬스터의 공격력 A1, A2, ..., AN, 각 마을에 있는 주민 수 P1, P2, ..., PN이 공백으로 구분되어 주어질 때, 시루가 해방시킬 수 있는 주민들의 최대 수를 구하는 문제 https://www.acmicpc.net/problem/25330 25330번: SHOW ME THE DUNGEON 올 여름 출시된 RPG 게임 "SHOW ME THE DUNGEON"은 ..
-
[백준] 12813. 이진수 연산 - Python3Problem Solving 2023. 2. 16. 22:41
문제 설명 이진수 두 개가 주어질 때, &, |, ^, ~ 연산의 결과를 출력하는 문제 https://www.acmicpc.net/problem/12813 12813번: 이진수 연산 총 100,000 비트로 이루어진 이진수 A와 B가 주어진다. 이때, A & B, A | B, A ^ B, ~A, ~B를 한 값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 알고리즘 분류 - 문자열 난이도 - 브론즈2 관련 개념 비트 연산 - AND, OR, XOR, NOT 접근 방법 AND, OR, XOR은 입력된 이진수를 연산자 하나로 바로 연산 할 수 있도록 십진수 정수로 변환한 뒤, bin 함수로 이진수로 만들고 남은 앞공간은 zfill 함수를 이용해 0으로 채워줬다. NOT 연산은 bin 함수를 쓰..