안녕하세요 감자 코딩 & 감자 개발자입니다. 이번에 살펴볼 문제는 10824번의 문제인 "네 수" 라는 문제입니다.가장 큰 핵심 키워드는 자료형 변수의 범위에 따라 문제를 해결 할 수 있냐입니다.문제 링크https://www.acmicpc.net/problem/10824 네 수 성공시간 제한메모리 제한제출정답맞은 사람정답 비율1 초256 MB82403042254837.295%문제네 자연수 A, B, C, D가 주어진다. 이때, A와 B를 붙인 수와 C와 D를 붙인 수의 합을 구하는 프로그램을 작성하시오. 두 수 A와 B를 합치는 것은 A의 뒤에 B를 붙이는 것을 의미한다. 즉, 20과 30을 붙이면 2030이 된다. 입력첫째 줄에 네 자연수 A, B, C, D가 주어진다. (1 ≤ A, B, C, D ≤..
안녕하세요 감자 코딩 & 감자 개발자 입니다.이번에 살펴볼 문제는 전에 포스팅했던 문제들을 종합적으로 생각할 수 있었던 문제입니다.ROT13문제인데요. ASCII 코드와 입력에 있어서 복합적인 문제라고 생각하시면 될 것같습니다. 문제 링크https://www.acmicpc.net/problem/11655 문제ROT13은 카이사르 암호의 일종으로 영어 알파벳을 13글자씩 밀어서 만든다. 예를 들어, "Baekjoon Online Judge"를 ROT13으로 암호화하면 "Onrxwbba Bayvar Whqtr"가 된다. ROT13으로 암호화한 내용을 원래 내용으로 바꾸려면 암호화한 문자열을 다시 ROT13하면 된다. 앞에서 암호화한 문자열 "Onrxwbba Bayvar Whqtr"에 다시 ROT13을 적용하..
안녕하세요 감자 코딩& 감자 개발자 입니다. 이번에 살펴볼 문제는 2743번의 알고리즘 문제인 단어길이 문제 입니다. 상당히 쉬운문제라서 포스팅을 하지 않으려고 했으나, 시간복잡도면에서 한번더 생각해볼 수 있었던 문제여서 포스팅 하겠습니다. 문제 링크https://www.acmicpc.net/problem/2743 문제알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오. 입력첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 100이다. 출력첫째 줄에 입력으로 주어진 단어의 길이를 출력한다. 예제 입력 1 pulljima예제 출력 1 8 어떠신가요? 문제는 너무 쉽지요? 그래서 포스팅을 하지않으려고 했습니다. 하지만! 쉬울수록 한번더 생각해보아야..
오늘도 1일1-3알고리즘을 풀어보기위해 등장한 감자코딩에 감자개발자입니다. 이번에 살펴볼 문제는 10820 문자열 분석 문제입니다. 문제 링크 https://www.acmicpc.net/problem/10820 문제문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있다. 입력첫째 줄부터 N번째 줄까지 문자열이 주어진다. (1 ≤ N ≤ 100) 문자열의 길이는 100을 넘지 않는다. 출력첫째 줄부터 N번째 줄까지 각각의 문자열에 대해서 소문자, 대문자, 숫자, 공백의 개수를 공백으로 구분해 출력한다. 예제 입력 1 This is StringSPACE 1 SPACE S..
안녕하십니까 감자코딩에 감자개발자입니다.이번에 살펴볼 문제는 백준알고리즘의 10809문제인 알파벳찾기 문제입니다. 문제 링크https://www.acmicpc.net/problem/10809 문제알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단..
안녕하십니까 감자코딩에 감자개발자입니다. 이번에 살펴볼 문제는 백준알고리즘의 10808번문제인 알파벳 개수 문제입니다. 문제 링크https://www.acmicpc.net/problem/10808 문제알파벳 소문자로만 이루어진 단어 S가 주어진다. 각 알파벳이 단어에 몇 개가 포함되어 있는지 구하는 프로그램을 작성하시오. 입력첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. 예제 입력 1 baekjoon예제 출력 1 1 1 0 0 1 0 0 0 0 1 1 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 문제 해결 방법 1) 가장먼저 아스키코드에 대한 ..
안녕하세요 감자코딩에 감자개발자입니다.이번에 풀어볼 문제는 백준알고리즘에 10866문제인 Deque를 사용한 문제입니다. 문제 링크https://www.acmicpc.net/problem/10866 문제정수를 저장하는 덱(Deque)를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여덟 가지이다. push_front X: 정수 X를 덱의 앞에 넣는다.push_back X: 정수 X를 덱의 뒤에 넣는다.pop_front: 덱의 가장 앞에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다.pop_back: 덱의 가장 뒤에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다.size:..
안녕하세요 감자코딩에 감자개발자입니다. 이번에 살펴볼 알고리즘 문제는 조세퍼스 문제 1158번 문제입니다.문제 링크 1158 조세퍼스 문제 https://www.acmicpc.net/problem/1158 조세퍼스 문제 성공시간 제한메모리 제한제출정답맞은 사람정답 비율2 초256 MB139386986528552.089%문제조세퍼스 문제는 다음과 같다.1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 M(≤ N)이 주어진다. 이제 순서대로 M번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, M)-조세퍼스 순열이라고 한다. 예를 들어 (7, 3..
안녕하세요, 감자코딩에 감자개발자입니다. 이번에 포스팅할 백준알고리즘 문제는 1406 에디터 문제인데요, 명령으로해서 문자열들을 처리할 수 있는지 여부를 알 수 있었던 문제였습니다. 그럼 풀이 들어갈게요! 문제 링크 에디터 1406번문제https://www.acmicpc.net/problem/1406 문제한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다.이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입력되어 있으면, 커..
안녕하세요 감자코딩에 감자개발자입니다. 오랜만에 포스팅을 하게 되었는데요. 1일 1알고리즘 포스팅을 할예정이라 알고리즘을 많이 올리게될것같습니다. 쇠막대기 10799번 문제 링크https://www.acmicpc.net/problem/10799문제여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저의 배치는 다음 조건을 만족한다.쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수 있다. - 쇠막대기를 다른 쇠막대기 위에 놓는 경우 완전히 포함되도록 놓되, 끝점은 겹치지 않도록 놓는다.각 쇠막대기를 자르는 레이저는 적어도 하나 존재한다.레이저는 어떤 쇠막대기의 양 끝점과도 겹치지 않..
안녕하세요 감자코딩에 감자개발자입니다^^ 오랜만에 포스팅을 하는데요. 오늘 알아볼 알고리즘개념은 트리 입니다. 자료구조론에서 가장 기본중에 기본이면서 중요한 개념을 살펴보도록 하겠습니다. * 트리(Tree)란? 임의의 노드에서 다른 노드로 가는 경로(path)는 유일하다.회로(cycle)가 존재하지 않는다.(사이클이 없는 그래프)모든 노드는 서로 연결되어 있다.정점의 개수(Vertex)간선의 개수 (Vertex - 1)엣지(edge)를 하나 자르면 트리가 두 개로 분리된다.엣지(edge)의 수 |EE| 는 노드의 수 |VV|에서 1을 뺀 것과 같다. * 트리 구조에서의 용어 정리 (1). 노드(Node) 보통 데이터 트리 구조에서의 하나의 데이터들이 하나의 영역을 차지하는 곳을 노드라고 한다. (2). ..
감자 코딩에 감자개발자입니다. 이번시간에 살펴볼 개념은 Quick sort 퀵정렬입니다. 1. 퀵정렬의 특징 1) 불안정한 정렬2) 다른원소와 비교했을때 "비교 정렬"이라 칭합니다.3) 매우 빠른정렬방식4) 분할정복 방식(divide and conquer) -큰 문제를 작은문제 1,2로 분할하는 방식5) 시간복잡도 O(nlogN) 2. 퀵정렬 과정 1) 리스트 하나의 요소 Selection "pivot"2) 피벗 기준으로 피벗보다 작으면 "왼쪽"3) 피벗 기준으로 피벗보다 크면 "오른쪽"4) 피벗 제외한 왼쪽/오른쪽 리스트 다시 재정렬(순환호출)5) 부분 리스트들이 더이상 분할 불가능할때까지 반복한다.
감자 코딩에 감자 개발자입니다. 이번에 살펴본 내용은 알고리즘의 Sort중 하나인 합병정렬(Merge Sort)입니다. 1.합병 정렬(Merge Sort) 시간복잡도와 공간복잡도 합병정렬 (InsertSort)의 시간복잡도는 밑이 2 인 O(nlogn) 왜 이렇게 시간복잡도가 나올까요?바로 합병정렬의 가장큰 특징인 분할후 -> 합병이라는 것때문입니다. N -> N/2 형식으로 나누게되므로 계속분할되면 nLogN만큼의 복잡도가 나오게됩니다. 2. 합병 정렬 원리 합병정렬이란? 전체 원소를 하나의 단위로 분할 한후 분할한 원소를 다시 합병하는 방식이다. 원리) 1. 전체 원소를 1로 분할할때 까지 분할하여 계속해서 진행한다. 2. 다 나누어 졌으면, 그 원소들을 다시 비교하면서 Merge한다. - 예시 40..
감자 코딩에 감자 개발자입니다. 이번에 살펴볼 내용은 알고리즘의 Sort중 하나인 삽입 정렬(Insertion Sort)입니다. 1.삽입 정렬(Insertion Sort) 시간복잡도와 공간복잡도 삽입정렬 (Insertion)의 시간복잡도는 O(N^2) 2. 삽입 정렬 원리 가장 먼저 삽입 정렬에서의 원리를 살펴봅시다.가장 Array[0]에 있는 값과 Array[1],[2].....[N]까지의 값과 비교를 해갑니다.이때, Array[0]와 비교해가면서 값의 크기를 비교합니다.값이 더 작으면Array[0]와 값을 바꿔치기해줍니다.그리고, 바꿔치기한 값으로 부터 지금까지 진행비교 중이던 인덱스부터 다시 비교를 시작합니다. 예를 들어 Array[0] 과 비교를해서 가다가 Array[2]에서 Array[2]값이 ..
감자 코딩에 감자 개발자입니다. 이번에 살펴볼 내용은 알고리즘의 Sort중 하나인 선택정렬(SelectionSort)입니다. 1.선택정렬(SelectionSort) 시간복잡도와 공간복잡도 선택정렬(SelectionSort)의 시간복잡도는 O(N^2) 공간복잡도는 하나의 배열만을 사용하여 정렬하기 때문에 O(N)입니다. 2. 선택정렬 원리 크기가 N인 배열 1,2,3......N까지의 배열이 있다고 생각을 해봅시다. 이제 처음부터 비교를 하기 시작합니다. 1. 맨처음 Index[0] 값을 기준으로 index[1], index[2] ...... index[N]까지의 값들을비교합니다. 2. 이중에서 Index[0] 값과 비교하여 가장 작은수를 index[0]와 위치를 변경해줍니다. 3. 그다음 Index[1]..
- Total
- Today
- Yesterday
- MVC
- 알고리즘
- 안드로이드
- BFS
- 리버싱
- 코드엔진
- Android
- C언어
- 학교
- programming
- 개발하는 관광이
- 텐서플로우
- node
- 백준
- 초보자를 위한 C언어 300제
- node.js
- 스프링
- db
- Controller
- 감자개발자
- 감자코딩
- Spring
- Algorigm
- 프로그래밍
- C langauge
- 머신러닝
- 복습
- 노드
- 백준알고리즘
- TensorFlow
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |