공부 5

Algorithm (1)

지금까지 취업 준비를 위해 코딩 테스트를 위해 수많은 알고리즘 문제를 풀어보았다. 그렇다면 나는 알고리즘 그 자체에 대하여 얼마나 알고 푸는 것일까? 라는 궁금증으로 이와같은 카테고리를 생성하여 그저 테스트만을 위한 알고리즘 공부가 아닌 순수히 알고리즘 자체를 이해하는 시간을 가져보고자 한다. 1. 그리하여 알고리즘이란? 간단히 설명하자면, 알고리즘은 결국 문제를 해결하는 단계적 절차 또는 방법, 명령어들의 집합이라고 할 수 있다. 알고리즘은 컴퓨터에만 적용되는것은 아니다. 예를 들어, 컴퓨터가 이해하지 못하는 의사코드를 통한 알고리즘 혹은 수학적인 이론에서 발생한 알고리즘이 있을 수 있다. 1.1 알고리즘의 일반적인 특성은? - 정확성 : 주어진 입력에 대하여 올바른 해를 출력해야한다. - 수행성 : ..

STUDY/Algorithm 2022.04.05

[BOJ] 1065 한수 with JAVA

단계별 풀기 : 함수 https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 오늘 풀어본 문제는 한수라는 알고리즘 문제다. 문제는 생각보다 간단하다. 100미만의 모든 수는 한수이다. 따라서 우리가 고려해야하는 것은 100 이상의 숫자이다. 지문에서 나온것 처럼 숫자의 각 자리수가 등차 수열을 이룬다면, 한수라고 할 수 있다. 공차는 음수일수도 양수일수도 있다. 따라서 ) 1 2 3 , 1 3 5 , 1 4 7 ... 점점 커지는 수도 한수이다. 그렇다면..

카테고리 없음 2022.01.01

새해 기념 알고리즘 풀기

다시 등장! 새해 기념으로 다시 알고리즘 공부에 집중하고자 처음으로 백준 알고리즘에 들어갔더니,, 이런 잔디밭이 생겼다..! 마치 깃허브의 커밋 잔디밭을 보는 기분이다. 더욱 열심히 알고리즘을 풀어야할 것 같은 기분이 드는,, 꼬바꼬박 풀어서 그린 보드로 만들어야겠다. 그런 의미에서 오늘 푼 문제들을 작성하러 고고~ 잊지않고 회고도 쓰러 가야겠다.ㅎ...

My record 2022.01.01

Trie 자료 구조 알고리즘 만들기

알고리즘 문제를 풀다보면 문자열을 다루고 원하는 문자열을 검색하는 문제를 만날때가 종종 있다. 그때마다 Trie 자료 구조에 대해 찾아보곤 하는데 매번 까먹어서 잊지 않을려고 직접 기록해본다. 우선 Trie의 개념에 대해 이야기 해보겠다. Trie 자료 구조의 개념 Trie는 트리 형태의 자료 구조로 문자열을 빠르게 저장하고 검색하기 위해 사용되는데 사용한다. 개념을 이해하는 것은 어렵지 않았지만 막상 코드를 작성하면서 내가 대충 이해하고 넘어갔구나 생각하게 됬다. static class Trie{ boolean isLast = false; //현재 노드의 자식 노드 배열을 만든다. //배열의 크기는 영어 소문자를 기준으로 26개. Trie[] childNodes = new Trie[26] } 기본적으로..

STUDY/Algorithm 2021.07.01

[BOJ] 1212번 8진수 2진수 - JAVA

https://www.acmicpc.net/problem/1212 1212번: 8진수 2진수 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. www.acmicpc.net 약 한달 전 런타임에러나서 포기하고 다른문제 풀다가 오늘 해결했다. 처음 문제를 풀때 수의 범위를 생각하지 않고 자바에 있는 내장함수를 이용했는데, 8진수를 10진수로 바꾸는 과정에서 수가 너무 커져 런타임에러가 발생했다. 그래서 귀찮아서 안풀고 있었는데 오늘 풀었다. import java.util.*; class Main{ public static void main (String[] args){ Scanner sc = new Scanner(System.in); String n = sc.next(); /..

today's alogrithm 2021.06.22