Mgcllee

[C#] 문자열(string)과 내부 메서드

개인 학습을 기록한 내용을 담고 있어 추후 수정될 수 있습입니다. 문자열 문자열은 C# 에서 여러 문자를 이어붙인 자료형이라고 했습니다. 그러나 단순히 이어붙인 것 뿐만 아니라 클래스처럼 string 내부에 여러 메서드를 갖고 있습니다. 이번 포스트에서는 string의 사용과 내부 메서드들에 대해 알아보겠습니다. String 선언하기...

[프로그래머스] 예상 대진표

이 포스트는 프로그래머스 사이트의 예상 대진표 문제 풀이입니다. 문제 해결 과정 이 문제는 수학 연산을 통해서 간단하게 해결할 수 있는 문제입니다. A 선수와 B 선수가 경기를 진행하려면 두 선수의 번호는 인접한 숫자이고 두 선수 중 작은 번호를 받은 숫자가 홀수이어야 두 선수가 만날 수 있습니다. 만약 인접하지 않고, 작은 수가 홀...

[백준][1238] 파티

이 포스트는 백준 사이트의 파티 문제 풀이입니다. 문제 해결 과정 이 문제는 다익스트라 알고리즘을 활용해서 해결할 수 있습니다. 입력받은 정보를 토대로 단방향 가중치 그래프를 만든 후 (현재 마을에서 X까지 비용) + (X부터 원래 마을까지 비용)을 매번 비교하여 최댓값을 구하면 됩니다. 일반적인 다익스트라의 경우, 최단 거리를 구하...

[C#] 비트 연산자(Left/Right Shift, 논리 연산자 등)

개인 학습을 기록한 내용을 담고 있어 추후 수정될 수 있습입니다. C# 에서는 bit 단위 연산을 위한 전용 연산자를 제공하는데 그 이름이 비트 연산자 입니다. 비트 연산자는 비트 Shift 연산자, 비트 논리 연산자가 있습니다. 이번 포스트에서는 C# 의 비트 연산자를 확인해 보겠습니다. 비트 Shift 연산자 비트 Shift 연산자...

[백준][6593] 상범 빌딩

이 포스트는 백준 사이트의 상범 빌딩 문제 풀이입니다. 문제 해결 과정 이 문제는 BFS를 활용하면 쉽게 해결할 수 있습니다. 일반적인 최단거리 문제는 2차원 배열 혹은 그래프에서 구하는 형태였습니다. 그러나 이 문제는 3차원 배열의 형태에서 최단거리를 구해야하는 문제입니다. 따라서 이 문제를 구하기 위해 x축, y축에 z축을 더하여...

[C#] 기본 데이터 형식과 범위(정수, 2진수, 16진수)

개인 학습을 기록한 내용을 담고 있어 추후 수정될 수 있습입니다. 자료형은 프로그램에서 데이터를 담는 형식을 의미합니다. 프로그래밍 언어 마다 기본적으로 제공하는 자료형이 있고, 프로그래머가 직접 자료형을 만들 수도 있습니다. 이번 포스트에서는 C# 에서 제공하는 기본 자료형에 대해서 설명하겠습니다. C# 의 기본 자료형은 크게 3가지로 나...

[백준][1717] 집합의 표현

이 포스트는 백준 사이트의 집합의 표현 문제 풀이입니다. 문제 해결 과정 이 문제는 Union-Find 알고리즘을 활용하면 쉽게 해결할 수 있습니다. 첫 상태는 문제의 설명처럼 0부터 N까지의 각 숫자가 독립적으로 존재하는 상태에서 사용자의 합집합 연산과 집합 확인 연산을 반복적으로 수행하면 됩니다. 여기서 합집합 연산에 사용되는 것...

[알고리즘] A* 알고리즘 구현해보기

개인 학습을 기록한 내용을 담고 있어 추후 수정될 수 있습입니다. A* 알고리즘이란 A* 알고리즘은 최단 경로 탐색 알고리즘 중 하나로 유명합니다. 주어진 지도(map)에서 출발 지점부터 도착 지점까지 최적의 경로를 찾는 기술입니다. A* 코드의 구조가 다익스트라 최단거리 알고리즘과 닮았다는 특징이 있지만 다익스트라의 경우, 우선순위 큐와 ...