본문 바로가기

728x90

전체 글

(54)
[Flutter] 한글 Utility 기능 1. 개요소프트웨어를 개발할 때 한글을 자유롭게 다룰 경우가 종종 있었고, 이에 대한 Utilty 기능을 개발하게 되어 이 포스팅에서 소개하고자 한다.Github2. 활용 문법2.1. extension[Dart] extension3. 구현3.1. runes문자열의 각 문자에 대해 기본단위인 유니코드 코드 포인트를 취하여 Iterable 형식으로 반환하는 함수이다. 즉,'안녕'.runes; // (50504, 45397)와 같이 '안' 과 '녕' 문자의 각 유니코드 코드 포인트를 알 수 있다.3.2. 한글 음절의 유니코드 색인유니코드 값이 가장 작은 한글 음절은 '가' 로 0xAC00 의 값을 가진다.int get _index => runes.last - 0xAC00;따라서 위와 같이 나타내면 한글 음절이..
[Baekjoon] 2579번 계단 오르기 S3 2579번 - 계단 오르기1. 문제계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다.예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 $10 + 20 + 25 + 20 = 75$ 점이 된다.계단 오르는 데는 다음과 같은 규칙이 있다.첫째 줄에 $N (1 ≤ N ≤ 1,000,000,000)$ 이 주어진다.계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한 계단을 밟으면서 이어서 다음 계단이나, 다음 다음 계단으로 오를 수 있다.연속된 세 개의 계단을 모두 밟아서는 안 된다. 단,..
[Flutter] 문자열 명명 형식 변환기 (String Case Converter) 1. 개요소프트웨어를 개발할 때 문자열의 명명 형식(String Naming Type)을 변환해야 할 경우가 왕왕 있었는데, 이에 따라 자유자재로 변환이 가능한 Utilty 기능의 필요성을 느껴 개발하였고 이 포스팅에서 소개하고자 한다.Github1.1. 명명 형식 종류명명 형식예시Lower Snake Casehello_worldUpper Snake CaseHELLO_WORLDLower Skewer Casehello-worldUpper Skewer CaseHELLO-WORLDPascal CaseHelloWorldCamel CasehelloWorldTitle CaseHello WorldLower Casehello worldUpper CaseHELLO WORLD2. 활용 문법2.1. extension[Dar..
[Baekjoon] 풀이 및 포스팅 목록 내 티어 hsj6831 SolvedAC Rating: 승급까지 0 남음 백준 푼 문제 수: 문제까지 0 남음 포스팅한 문제 수: 0 남음 백준 풀이 목록색인티어문제제출번호언어바이트제출시간포스팅
[Dart] 동기(Synchronous) / 비동기(Asynchronous) 1. 개요Dart 에서는 비동기로 구현할 수 있는 문법이 존재한다. 서비스를 개발할 때 수없이 구현해왔지만 사용방법만 익혔을 뿐 그 의미를 정확히 알고 사용하지 않았기에 이번 기회에 확실하게 파악해보고자 한다.2. 개념 이해2.1. 동기와 비동기동기와 비동기는 다음을 의미한다.동기(Synchronous): 작업이 순차적으로 실행되며, 하나의 작업이 완료된 후 다음 작업을 시작함비동기(Asynchronous): 여러 작업을 동시에 진행할 수 있으며, 한 작업이 완료되기를 기다리지 않고 다음 작업을 수행함BOJ 문제를 해결하는 코드나 계산 작업을 하는 코드 등은 충분히 동기적으로도 구현 가능하지만 다양한 사용자가 존재하고 지속적으로 서버와 소통해야 하는 서비스를 개발할 때는 특정 작업의 결과값을 즉시 얻지 ..
[Baekjoon] 1262번 알파벳 다이아몬드 S1 <Short> 1262번 - 알파벳 다이아몬드1. 문제알파벳 다이아몬드는 정수 길이의 마름모가 여러 개 누적되는 모양이다. 각각의 마름모는 하나의 알파벳 소문자로 그리며, a로 시작해서 z로 끝난다. (가운데에서부터) 그리고, z 이후에는 다시 a로 시작한다.알파벳 다이아몬드는 다음과 같이 생겼다.a.b.bab.b...c...cbc.cbabc.cbc...c.....d.....dcd...dcbcd.dcbabcd.dcbcd...dcd.....d.......e.......ede.....edcde...edcbcde.edcbabcde.edcbcde...edcde.....ede.......e.........f.........fef.......fedef.....fedcdef...fedcbcdef.fedcbabcdef.fedcbcd..
[Algorithm] 깊이 우선 탐색 (Depth First Search) 15723번 - n단 논법1. 문제모든 중앙대 컴퓨터공학부(소프트웨어학부) 학생들은 미인이다.지무근은 중앙대 컴퓨터공학부 학생이다.그러므로 지무근은 미인이다.위 연역 논증은 대표적인 삼단논법의 예시이다. 삼단논법이란 전제 두 개와 결론 하나로 이루어진 연역 논증이다. 이것을 응용하면, $n$ 개의 전제가 있을 때 $m$ 개의 결론을 도출할 수 있을 것이다. 이때의 $n$과 $m$은 모든 의미에서 적절한 수라고 가정하자. 자세한 것은 입출력 예시를 확인하자.Input첫째 줄에 정수 $n(2 \le n \le 26)$ 이 주어진다.둘째 줄부터 $n$개의 줄에 걸쳐 각 줄에 전제가 하나씩 주어진다. 전제는 모두 a is b의 형식으로 주어지며 a와 b는 서로 다른 임의의 알파벳 소문자이다. 특별한 명시는 없지..
[Algorithm] 너비 우선 탐색 (Breadth First Search) 1. 개요너비 우선 탐색 (Breadth-First Search) 은 비선형 자료를 특정 노드에서 시작하여 하위 노드보다 인접 노드를 먼저 방문하며 탐색하는 방식을 의미한다.2. 의의너비 우선 탐색 은 다음의 경우에 유용하게 사용될 수 있다.너비 우선 탐색의 의의최단 경로 탐색층별 탐색최소 신장 트리 판단3. 조건너비 우선 탐색의 조건비선형 자료 (그래프, 트리) 의 탐색추가 메모리 공간 (자료 구조 Queue 사용)탐색 시작 지점 정의방문 여부 확인4. 구현너비 우선 탐색 은 반복문과 Queue 를 이용하여 구현할 수 있다.탐색 시작 노드를 설정하고 Queue 에 삽입한다.Queue 를 dequeue 하여 얻은 노드를 탐색한다.탐색을 완료한 노드를 기록한다.현재 탐색 노드의 인접 노드들을 Queue 에..

728x90