본문 바로가기

분류 전체보기539

C# [백준 BAEKJOON] 1874번 스택 수열 문제스택 (stack)은 기본적인 자료구조 중 하나로, 컴퓨터 프로그램을 작성할 때 자주 이용되는 개념이다. 스택은 자료를 넣는 (push) 입구와 자료를 뽑는 (pop) 입구가 같아 제일 나중에 들어간 자료가 제일 먼저 나오는 (LIFO, Last in First out) 특성을 가지고 있다.1부터 n까지의 수를 스택에 넣었다가 뽑아 늘어놓음으로써, 하나의 수열을 만들 수 있다. 이때, 스택에 push하는 순서는 반드시 오름차순을 지키도록 한다고 하자. 임의의 수열이 주어졌을 때 스택을 이용해 그 수열을 만들 수 있는지 없는지, 있다면 어떤 순서로 push와 pop 연산을 수행해야 하는지를 알아낼 수 있다. 이를 계산하는 프로그램을 작성하라. 입력첫 줄에 n (1 ≤ n ≤ 100,000)이 주어진다... 2024. 5. 24.
C# [백준 BAEKJOON] 11286번 절대값 힙 문제절댓값 힙은 다음과 같은 연산을 지원하는 자료구조이다.배열에 정수 x (x ≠ 0)를 넣는다.배열에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 절댓값이 가장 작은 값이 여러개일 때는, 가장 작은 수를 출력하고, 그 값을 배열에서 제거한다.프로그램은 처음에 비어있는 배열에서 시작하게 된다. 입력첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이라면 배열에서 절댓값이 가장 작은 값을 출력하고 그 값을 배열에서 제거하는 경우이다. 입력되는 정수는 -231보다 크고, 231보다 작다. 출력입력에서 0이 주어진 회수만큼 답을 .. 2024. 5. 23.
C# 간단하게 10진수를 2진수, 16진수로 변환하기 간단하게 10진수를 2진수, 16진수로 변환하기문자열 보간을 이용하면 Convert와 같은 함수를 쓰지 않고 2진수, 16진수로 변환이 가능하다. static void Main(string[] args){ Console.WriteLine($"{133:B}"); Console.WriteLine($"{133:X}");} $"{10진수 숫자:B}" => 이진수로 변환$"{10진수 숫자:X}" => 16진수로 변환 B : Binary 2진수X : Hexadecimal 16진수를 의미한다.  간단하게 변환이 가능하다. 추가적인 숫자 서식 지정에 대해서는 아래의 글을 참고하자. 함께 읽으면 좋은 글 C# 숫자 서식 지정자(Number Format Specifier)표준 출력 형식의 문법 {n,w:tp} .. 2024. 5. 22.
K-패스를 신청 위해 체크카드 신청 with 카드사별 비교 😎직장인에게 꼭 필요한 K-패스K-패스를 신청하면 고정비용인 교통비 할인을 받을 수 있다.직장인이라면 당연히 신청해야 한다. 우선 할인을 받으려면 카드사에서 카드를 발급받아야 한다.  지원대상본인이 해당하는 지자체에 속해있는지 확인해 보자. 적립 금액 안내일반 직장인이라면 대중교통 이용요금의 20%까지 할인된다. 할인금액이 적용되는 게 아니라 일정 비율로 적립금으로 적립되어서 반환받는 형식이다. 카드사별 체크카드 혜택막일로 하나씩 정리해 봤다.정리해 본 결과로는 우리 카드가 제일 좋아 보인다. 하지만 이미 케이뱅크로 신청해서 케이뱅크로 써보겠다. 카드사별 지급방식카드사별로 지급날짜가 다를 뿐 지급 방식은 동일하다.  신용카드와 체크카드K-패스에 신청하려면 카드사에서 별도의 카드를 신청해서 해당 카드번호.. 2024. 5. 22.
C# [백준 BAEKJOON] 17219번 비밀번호 찾기 문제2019 HEPC - MAVEN League의 "비밀번호 만들기"와 같은 방식으로 비밀번호를 만든 경민이는 한 가지 문제점을 발견하였다. 비밀번호가 랜덤으로 만들어져서 기억을 못 한다는 것이었다! 그래서 경민이는 메모장에 사이트의 주소와 비밀번호를 저장해두기로 했다. 하지만 컴맹인 경민이는 메모장에서 찾기 기능을 활용하지 못하고 직접 눈으로 사이트의 주소와 비밀번호를 찾았다. 메모장에 저장된 사이트의 수가 늘어나면서 경민이는 비밀번호를 찾는 일에 시간을 너무 많이 쓰게 되었다. 이를 딱하게 여긴 문석이는 경민이를 위해 메모장에서 비밀번호를 찾는 프로그램을 만들기로 결심하였다! 문석이를 도와 경민이의 메모장에서 비밀번호를 찾아주는 프로그램을 만들어보자. 입력첫째 줄에 저장된 사이트 주소의 수 N(1 ≤.. 2024. 5. 22.
해시 테이블(Hash Table)이란? 해시 테이블(Hash Table)이란?데이터의 삽입, 제거, 탐색이 모두 O(1)으로 매우 빠름내부적으로 정렬되지 않음저장할 데이터의 수보다 더 많은 공간이 필요해싱(Hashing)해시 테이블은 키를 해시 함수(Hash Function)에서 해싱(Hasing) 과정을 거쳐서 해시 테이블에 저장한다.해시 함수로 알려진 수학 공식을 사용하여 가변 크기의 입력에서 고정 크기 출력을 생성하는 프로세스를 말한다. 해싱(hashing)키(key)해시함수(hash function)해시 값(hash value) Hash 예시크기가 11인 해시 테이블에 5개 원소 (44, 13, 15, 8, 21) 저장 가변 크기 입력을 고정 크기 입력으로 바꾸기 위해서 임의의 숫자 11로 나머지 연산 수행hashFunction(44).. 2024. 5. 21.