IT/TIL(127)
-
20240131_그림 확대(프로그래머스)
오늘의 TIL은 프로그래머스의 그림 확대라는 문제에 대한 내용이다. 문제의 링크는 아래와 같다. https://school.programmers.co.kr/learn/courses/30/lessons/181836 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대해 설명하면 직사각형 형태의 그림 파일을 나타낸 문자열 배열(string[] picture)과 정수 k가 주어질 때, 이 그림 파일을 가로, 세로로 k배 늘린 그림 파일을 나타내도록 문자열 배열을 return 하시오. 제한사항 1
2024.02.01 -
20240130_병합 정렬, 힙 정렬
오늘의 TIL은 어제에 이어서 정렬 알고리즘에 대한 내용이다. 어제 알아봤던 버블 정렬, 선택 정렬, 삽입 정렬은 N^2(삽입 정렬은 최적의 경우 N)의 시간 복잡도를 가지는 데이터의 양이 많아지면 사용하기 어려워지는 정렬 알고리즘이었다. 오늘은 nlogn을 가지는 보다 효율적인 정렬 알고리즘인 병합 정렬과 힙 정렬을 알아보려고 한다. 1. 병합 정렬(merge Sort) 병합 정렬은 분할 정복(Divide and Conquer) 방식을 이용한 정렬 방법으로, 하나의 리스트를 두 개의 리스트로 분할한 다음, 각각의 분할된 리스트를 정렬한 후 합쳐서 정렬된 하나의 리스트로 만드는 방법이다. 병합 정렬이 가지는 또 하나의 특징은, 두 개의 리스트를 분할하여 정렬하는 과정을 원래 있는 리스트가 아닌 새로운 리..
2024.01.30 -
20240129_정렬 알고리즘
오늘의 TIL은 C#에서 사용하는 정렬 알고리즘에 대한 내용이다. 정렬 알고리즘이란 배열 등이 주어졌을 때, 이를 해당하는 조건(오름차순, 내림차순 등)으로 정렬하는 알고리즘을 말한다. 정렬을 하는 방법이 다양하므로 알고리즘도 다양하게 존재하는데, 버블 정렬(bubble sort) 선택 정렬(selection sort) 삽입 정렬(insert sort) 병합 정렬(merge sort) 힙 정렬(heap sort) 퀵 정렬(quick sort) 등이 있다. 1. 버블 정렬(bubble sort) 버블 정렬은 서로 인접한 두 원소를 검사하여 오름차순(혹은 내림차순)으로 나열하는 방법으로, for 문을 이중으로 사용해서 모든 원소에 대해 검사하므로 시간복잡도는(N^2)이다 예제 코드를 살펴보면 아래와 같다. ..
2024.01.30 -
20240126_사원수(쿼터니언)
오늘의 TIL은 수학에서 사용되는 사원수(quarternion - 쿼터니언)에 대한 내용이다. 이 쿼터니언을 공부해야되는 이유는 게임을 개발하는 과정에서 3차원을 표현할 때 오일러 각을 사용했을 때, 발생하는 짐벌락을 해결할 수 있는 방법으로 쿼터니언을 사용할 수 있는데, 유니티에서는 기본적으로 쿼터니언을 사용하여 게임 오브젝트의 3차원 방향을 저장하기 때문이다. 쿼터니언에 대한 유니티 문서 링크 https://docs.unity3d.com/kr/2021.3/Manual/class-Quaternion.html 중요 클래스 - Quaternion - Unity 매뉴얼 Unity는 Quaternion 클래스를 사용하여 게임 오브젝트의 3차원 방향을 저장하고, 이를 통해 한 방향에서 다른 방향으로의 상대 회전..
2024.01.27 -
20240125_옹알이2(프로그래머스)
오늘의 TIL은 어제의 옹알이와 연결된 문제인 옹알이2이다. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/133499 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 옹알이2의 옹알이1과의 차이점은 네가지 발음을 여러번 사용할 수 있지만, 같은 발음을 연속해서는 사용할 수 없다는 점이 추가되었다. 문제를 정리하면 string[] babbling으로 주어지는 배열에서 "aya", "ye", "woo", "ma"를 최대 한 번씩 사용한 조합의 문자들이 몇개 있는지를 찾는 문제이다. 예를 들어..
2024.01.26 -
20240124_옹알이(프로그래머스)
오늘의 TIL은 프로그래머스의 옹알이 문제이다. 이 문제를 풀게된 이유는 프로그래머스의 AI 리포트라는 부분에서 추천 문제로 나온 것으로 AI 리포트에서 내가 여태까지 풀었던 문제들에 기반하여 나의 문제풀이 능력을 평가해주는데, 이 AI에서 나의 능력을 높이기 위해서 풀기 위한 문제로 추천해주었기에 풀게되었다. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/120956 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대한 기본적인 내용은 아래와 같다. string[] babbling..
2024.01.25