목록분류 전체보기 (296)
거의 알고리즘 일기장
https://algospot.com/judge/problem/read/QUADTREE algospot.com :: QUADTREE 쿼드 트리 뒤집기 문제 정보 문제 대량의 좌표 데이터를 메모리 안에 압축해 저장하기 위해 사용하는 여러 기법 중 쿼드 트리(quad tree)란 것이 있습니다. 주어진 공간을 항상 4개로 분할해 재귀적으로 표현하기 때문에 쿼드 트리라는 이름이 붙었는데, 이의 유명한 사용처 중 하나는 검은 색과 흰 색밖에 없는 흑백 그림을 압축해 표현하는 것입니다. 쿼드 트리는 2N × 2N 크기의 흑백 그림을 다음과 같은 과정을 거쳐 문자열로 압축합니다. 이 그림의 모든 algospot.com 풀이방법 이 문제는 무식하게 풀면 쿼드트리의 압축풀기 -> 값 뒤집기 -> 다시 압축하기 이렇게 ..
https://programmers.co.kr/learn/courses/30/lessons/12904 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 팰린드롬이란? 앞뒤를 뒤집어도 똑같은 문자열 ex) abcdcba는 abc와 cba가 d를 사이에 두고 대칭이므로 길이가 7인 팰린드롬 문자열이다. 풀이방법 bool dp[i][j] -> i~ j까지가 팰린드롬 문자열이면 true, 아니면 false 기본적으로 초기화 해줄것 1) 자기자신은 팰린드롬 문자열이다. ex) a, b 2) 연속된 문자열은 팰린드롬 문자열이다. ex) aa, bb //자기자신은 tru..
https://www.algospot.com/judge/problem/read/CLOCKSYNC algospot.com :: CLOCKSYNC Synchronizing Clocks 문제 정보 문제 그림과 같이 4 x 4 개의 격자 형태로 배치된 16개의 시계가 있다. 이 시계들은 모두 12시, 3시, 6시, 혹은 9시를 가리키고 있다. 이 시계들이 모두 12시를 가리키도록 바꾸고 싶다. 시계의 시간을 조작하는 유일한 방법은 모두 10개 있는 스위치들을 조작하는 것으로, 각 스위치들은 모두 적게는 3개에서 많게는 5개의 시계에 연결되어 있다. 한 스위치를 누를 때마다, 해당 스위치와 연결된 시계들 www.algospot.com 풀이방법 주어진 시간은 10초 (약 10억개 연산)이다. 이때 완전탐색으로 풀수..
https://www.algospot.com/judge/problem/read/TSP1 algospot.com :: TSP1 Traveling Salesman Problem 1 문제 정보 문제 NP-Complete 문제의 가장 유명한 예 중 하나인 여행하는 외판원 문제 (Traveling Salesman Problem) 은, 여러 개의 도시와 그 도시 간의 거리가 주어졌을 때, 각 도시를 정확히 한 번씩 방문하는 가장 짧은 경로를 찾는 문제이다. 이 문제를 다항 시간에 해결할 수 있는 방법은 현재까지는 존재하지 않지만, 도시의 숫자가 작은 경우에는 비교적 사용 가능한 시간 안에 www.algospot.com 풀이방법 첫번째 풀이 처음에 크루스칼 알고리즘으로도 풀수있는지알고 시도해봤는데.. 생각해보니 이 ..
1. .NET Framework 1) MSIL, IL System.Int32 float -> System.Single객체형태임 -CLS : 공통 언어 사양 정의, 닷넷 언어가 지켜야 할 최소 코드 규칙 3) 그 외 용어들 BCL (basic class library) : 기본 클래스 ADO.NET : database class library WINDOW FORN 윈도우 응용 프로그램 제작을 위한 클래스 라이브러리 ASP.NET : web class library JIT : .NET Framwork에서 어셈블리어를 네이티브 기계어로 바꿔주는 컴파일러 CLR : 컴파일된 c# 코드를 실행하는 역할 2. c# 언어 -c# = c++ + java -c# 사용범위 xml, web, network, 데이터베이스, ..
https://www.algospot.com/judge/problem/read/BOARDCOVER algospot.com :: BOARDCOVER 게임판 덮기 문제 정보 문제 H*W 크기의 게임판이 있습니다. 게임판은 검은 칸과 흰 칸으로 구성된 격자 모양을 하고 있는데 이 중 모든 흰 칸을 3칸짜리 L자 모양의 블록으로 덮고 싶습니다. 이 때 블록들은 자유롭게 회전해서 놓을 수 있지만, 서로 겹치거나, 검은 칸을 덮거나, 게임판 밖으로 나가서는 안 됩니다. 위 그림은 한 게임판과 이를 덮는 방법을 보여줍니다. 게임판이 주어질 때 이를 덮는 방법의 수를 계산하는 프로그램을 작성하세요. 입력 력의 첫 www.algospot.com 풀이방법 첫번째 풀이 그냥 그 점에 대한 블록이 가질수 있는 12가지 형태를..
https://www.algospot.com/judge/problem/read/PICNIC algospot.com :: PICNIC 소풍 문제 정보 문제 안드로메다 유치원 익스프레스반에서는 다음 주에 율동공원으로 소풍을 갑니다. 원석 선생님은 소풍 때 학생들을 두 명씩 짝을 지어 행동하게 하려고 합니다. 그런데 서로 친구가 아닌 학생들끼리 짝을 지어 주면 서로 싸우거나 같이 돌아다니지 않기 때문에, 항상 서로 친구인 학생들끼리만 짝을 지어 줘야 합니다. 각 학생들의 쌍에 대해 이들이 서로 친구인지 여부가 주어질 때, 학생들을 짝지어줄 수 있는 방법의 수를 계산하는 프로그램을 작성하세요 www.algospot.com 풀이방법 첫번째 풀이 처음 생각한 풀이는 나올수 있는 순열을 모두 구해서 하나하나 세는 방..
https://www.acmicpc.net/problem/3190 3190번: 뱀 문제 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임은 NxN 정사각 보드위에서 진행되고, 몇몇 칸에는 사과가 놓여져 있다. 보드의 상하좌우 끝에 벽이 있다. 게임이 시작할때 뱀은 맨위 맨좌측에 위치하고 뱀의 길이는 1 이다. 뱀은 처음에 오른쪽을 향한다. 뱀은 매 초마다 이동을 하는데 다음과 같은 규칙을 따 www.acmicpc.net 풀이방법 이 문제는 자료형만 적절히 선언한다면 매우 직관적이고 풀기 쉬운 문제다. 나는 밑과 같이 자료형을 선언하였다. queue snake;/..
https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2보다 크거나 같고, 1024보다 작거나 같은 2의 제곱꼴이다. 블록은 적어도 하나 주어진다. www.acmicpc.net 풀이방법 이 문제의 시간은 어떻게 풀던 충분하다고 생각되어 방향을 왼쪽, 위, 오른쪽, 아래를 각각 1,2 3 4로 두고 board판 자체를 회전시키는 방법으로 풀었다. 위 그림을 보면 더 이해가 쉬울것이다. 그외 주의사항은 첫번째, 수가 합해지는 동작을 할때 이미 합쳐진 부분은..
https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' 로 이루어져 있다. '.'은 빈 칸을 의미하고, '#'은 공이 이동할 수 없는 장애물 또는 벽을 의미하며, 'O'는 구멍의 위치를 의미한다. 'R'은 빨간 구슬의 위치, 'B'는 파란 구슬의 위치이다. 입력되는 모든 보드 www.acmicpc.net 풀이방법 이 문제는 그냥 구슬을 굴리는 단순한 시뮬레이션이다. 하지만, 주의해야 할점이 몇가지 있다. 첫번째, 공끼리 붙었을때를..