[BOJ] 17276 배열 돌리기
·
Problem Solving/삼성 유형
출처: https://www.acmicpc.net/problem/17276  문제 설명 크기가 n * n인 2차원 정수 배열 X가 있다. (n은 홀수) X를 45도만큼 시계방향 또는 반시계방향으로 돌리는 문제이다. 이때, 네 가지 경우 모두 원소의 기존 순서는 유지 되어야 하고, 회전하지 않는 원소들의 위치는 변하지 않는다. Input:T | int : 테스트 케이스의 수 (1  board | int[][] : n * n인 2차원 정수 배열 (1  D | int : 회전할 각도, 45의 배수 (0  tempBoard | int[][] : 회전시킨 배열을 담을 임시 2차원 배열     실수 목록40분이나 걸렸다. 실수다.   내 코드5000msimport java.io.BufferedReader;impor..
[BOJ] 20056번: 마법사 상어와 파이어볼
·
Problem Solving/삼성 유형
출처 : https://www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 실수한 목록 1. 문제를 제대로 이해하지 않고, 넘어감 '1번 행은 N번과 연결되어 있고, 1번 열은 N번 열과 연결되어 있다.' 라는 말은 2차원 배열의 격자를 벗어나더라도 연결되어 있음을 의미한다. ex) 3 x 3크기의 2차원 0-indexed 배열에서 (0,0)에서부터 열을 기준으로 +1 칸씩 이동해보자. 1칸 이동 (0,0) -> 1칸 이동..
[LeetCode] 152. Maximum Product Subarray
·
Problem Solving/LeetCode
출처 : https://leetcode.com/problems/maximum-product-subarray/description/ Maximum Product Subarray - LeetCode Can you solve this real interview question? Maximum Product Subarray - Given an integer array nums, find a subarray that has the largest product, and return the product. The test cases are generated so that the answer will fit in a 32-bit integer. Examp leetcode.com 아래 코드는 브루트포스로 스스로 해결하였..
[LeetCode] 198. House Robber
·
Problem Solving/LeetCode
출처 : https://leetcode.com/problems/house-robber/ House Robber - LeetCode Can you solve this real interview question? House Robber - You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent ho leetcode.com 아직 부족하다는 생각이 많이 든 문제였다. DP를 사용하였지만 솔루션을 보면 내가 짠 코드가 무색해..
[BOJ] 1991번: 트리 순회
·
Problem Solving/Baekjoon
출처 : https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net node 클래스를 만들어서 left 자식과 right 자식을 관리해주면 된다. 쉬운 문제였다 ! package com.ll.boj.silver.p1991; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner; public class Main { sta..
[BOJ] 4485번 : 녹색 옷 입은 애가 젤다지?
·
Problem Solving/Baekjoon
출처 : https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net 첫 접근은 최단 경로를 구하는 문제라고 생각해서 BFS를 사용했다. 하지만 테스트 케이스조차 통과하지 못하였고 힌트를 얻어 다익스트라 알고리즘을 사용하는 것을 파악했다. 출발지 (0,0)에서 목적지 (n-1, n-1)까지 최단 비용을 사용하여 목적지에 도달해야 한다. 그러기 위해서는 무작정 출발지에서 최소 비용을 따라갈 것이 아니라 지속적인 갱신이 필요하다. 파란색 경로..
[LeetCode] 238. Product of Array Except Self
·
Problem Solving/LeetCode
출처 : https://leetcode.com/problems/product-of-array-except-self/description/ Product of Array Except Self - LeetCode Can you solve this real interview question? Product of Array Except Self - Given an integer array nums, return an array answer such that answer[i] is equal to the product of all the elements of nums except nums[i]. The product of any prefix or suffix of nu leetcode.com 접근법을 몰라서 풀지..
[LeetCode] 36. Valid Sudoku
·
Problem Solving/LeetCode
출처 : https://leetcode.com/problems/valid-sudoku/description/ Valid Sudoku - LeetCode Can you solve this real interview question? Valid Sudoku - Determine if a 9 x 9 Sudoku board is valid. Only the filled cells need to be validated according to the following rules: 1. Each row must contain the digits 1-9 without repetition. 2. Each c leetcode.com 내 풀이 : class Solution: def isValidSudoku(self, boa..
[LeetCode] 347. Top K Frequent Elements
·
Problem Solving/LeetCode
출처 : https://leetcode.com/problems/top-k-frequent-elements/ Top K Frequent Elements - LeetCode Can you solve this real interview question? Top K Frequent Elements - Given an integer array nums and an integer k, return the k most frequent elements. You may return the answer in any order. Example 1: Input: nums = [1,1,1,2,2,3], k = 2 Output: [1,2] leetcode.com 방법 1) 우선순위 큐를 사용한 풀이 class Solution: ..
[LeetCode] 746. Min Cost Climbing Stairs
·
Problem Solving/LeetCode
출처 : https://leetcode.com/problems/min-cost-climbing-stairs/description/?envType=study-plan-v2&envId=dynamic-programming Min Cost Climbing Stairs - LeetCode Can you solve this real interview question? Min Cost Climbing Stairs - You are given an integer array cost where cost[i] is the cost of ith step on a staircase. Once you pay the cost, you can either climb one or two steps. You can either sta..
[LeetCode] 49. Group Anagrams
·
Problem Solving/LeetCode
https://leetcode.com/problems/group-anagrams/description/ Group Anagrams - LeetCode Can you solve this real interview question? Group Anagrams - Given an array of strings strs, group the anagrams together. You can return the answer in any order. An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase leetcode.com class Solution: def groupAnagrams(self, strs..
[LeetCode] 2811. Check if it is Possible to Split Array
·
Problem Solving/LeetCode
https://leetcode.com/problems/check-if-it-is-possible-to-split-array/description/ 지난 주 위클리 B번 문제.(해결하지 못했다.) 아주 코포스러운 문제(?)라고 한다. 문제에서 요구하는 근본적인 문제를 해결한다면 간단한 구현으로 풀이가 가능했다. 1. 두 개 합쳐서 m이상인 길이 2의 배열이 하나도 없을 때 왜 불가능한가? ex) arr =[2,1,1,1] m = 4 문제에서 요구하는대로 진행하다보면 결국 길이 1의 subarray가 각각 1개씩, 총 2개가 남아야한다. 그러기 위해선 이전 단계에서 [길이가 2인 m보다 크거나 같은 합을 가진 subarray] , [길이가 1인 subarray]에서 split이 이루어져야 한다. 하지만 예로..