[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..
구름톤 챌린지 2주차 학습 일기 - 3
·
Problem Solving
출처 : https://level.goorm.io/exam/195688/%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%82%98%EB%88%84%EA%B8%B0/quiz/1 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 문자열 나누기 문제이다.길이가 N인 문자열 S가 주어진다. 문자열 S를 서로 겹치지 않는 3개의 부분문자열로 나눈다. 부분문자열은 모두 길이가 1 이상이여야 하며, 원래 문자열에서 연속해야 한다. 조건 1. 문자열 S를 위 조건에 따라 나눴을 때, 등장하는 모든 부분문자열을 중복 제거하고 사전순으로 정렬한 결과를 P라고 한다. 조건 2. 나누어진 3개의 문자열이 각각 P에서 i,j,k번쨰로 등장하는 문자열이라면,..
[BOJ] 4485번 : 녹색 옷 입은 애가 젤다지?
·
Problem Solving/Baekjoon
출처 : https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net 첫 접근은 최단 경로를 구하는 문제라고 생각해서 BFS를 사용했다. 하지만 테스트 케이스조차 통과하지 못하였고 힌트를 얻어 다익스트라 알고리즘을 사용하는 것을 파악했다. 출발지 (0,0)에서 목적지 (n-1, n-1)까지 최단 비용을 사용하여 목적지에 도달해야 한다. 그러기 위해서는 무작정 출발지에서 최소 비용을 따라갈 것이 아니라 지속적인 갱신이 필요하다. 파란색 경로..
구름톤 챌린지 1주차 학습 일기 - 2
·
Problem Solving
문제 5. 이진수 정렬 출처 : https://level.goorm.io/l/challenge/goormthon-challenge 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io N개의 10진수 정수가 주어지면 아래와 같은 기준에 따라 정수를 정렬한다. 1. 10진수 정수를 2진수로 나타냈을 떄, 2진수에 포함된 1의 개수를 기준으로 내림차순 정렬한다. 2. 1의 개수가 같다면, 원래 10진수를 기준으로 내림차순한다. 나는 정수를 bin()을 통해 2진수로 변환시키고 b뒤의 숫자 중 Counter()를 통해 '1'의 개수를 bins 배열에 넣어줬다. 다시 말해서, 10진수를 2진수로 변환시키면 0b0010과 같은 형태의 문자로 출력이 된다...
[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..
구름톤 챌린지 1주차 학습 일기 - 1
·
Problem Solving
문제 3. 합 계산기 간단한 문제였다. 문자와 수를 분리해서 해당 문자열에 해당하는 부호를 판별해 연산을 해주면 된다. 문자로 받아서 부호에 해당하는 문자를 뽑아 변수에 저장해 줄 수 있었다. 나는 애초에 세 개의 변수에 받아 숫자에 해당하는 문자만 정수로 변환하여 연산해주었다. 편한대로 사용하면 될 것 같다. 3일차 문제 클리어 -! 내 풀이 : import sys si = sys.stdin.readline t=int(si()) res = 0 for _ in range(t) : a,b,c=si().split() a = int(a) c = int(c) if b == '+' : res += (a+c) elif b == '-' : res += (a-c) elif b == '*' : res += (a*c) e..
[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: ..