[LeetCode] Symmetric Tree
2022. 5. 5. 15:48
Programming/알고리즘
https://leetcode.com/problems/symmetric-tree/ Symmetric Tree - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 더보기 해설 Tree가 Symmetric 즉 대칭적인지 판단하면 된다. 이 문제는 두가지 방법으로 풀 수 있다. 1. recursive한 방법 2. iterative 한 방법 1. recursive한 방법 트리가 대칭적이려면 다음과 같은 조건이 필요하다 2번 혹은 3번 하나만 존재시 대칭이 아니다. ..
[프로그래머스] 타겟 넘버
2021. 3. 22. 22:33
Programming/알고리즘
programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 문제 설명 이 문제는 그래프로 접근 할 수 있다. DFS또는 BFS를 활용하면 된다 (DFS가 더 빠르다) 해당 코드는 DFS로 풀었다 코드 구현 python3 으로 풀었다. 더보기 answer =0 def dfs(index, numbers, sum, target): global answer n=len(numbers) #끝..
[프로그래머스] 크레인 인형뽑기 게임
2021. 3. 16. 00:19
Programming/알고리즘
programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr LV1 쉬운문제로 파이썬으로 코딩하기 연습... 문제는 간단하게 다음과 같이 풀이하면 된다. 1. board에 있는 녀석을 꺼낸다 2. stack에 넣는다 3. board에 있었던 자리를 초기화한다 (0으로) 4. 한가지 command가 끝날때 마다 스택을 체크해서 같은게 두개 있으면 터뜨린다. 구현할 때 유의할 점은 파이썬에서는 리스트의 인덱스에 -1 -2 등 음수값을 넣을 수 있는데 -1 의 경우 ..
[백준][10174]팰린드롬
2020. 10. 17. 22:49
Programming/알고리즘
www.acmicpc.net/problem/10174 10174번: 팰린드롬 팰린드롬은 앞으로 읽으나 뒤로 읽으나 똑같은 단어나 숫자들을 말한다. 일반적으로 대소문자를 구분하지 않지만, 공백은 구분한다. 다음은 팰린드롬의 예시이다. Anna Harrah Arora Nat tan 9998999 123 www.acmicpc.net 언어 : cpp 방법 : 받은 스트링 순차적으로 비교하면 된다~ 단, 대소문자 구분없으므로 대문자로 치환하거나 소문자로 치환해서 비교할 것 #include #include #include using namespace std; bool isPalindrome(string str) { int n, q; n = str.length(); q = n / 2; for(int i = 0 ; i..
[백준][2577] 숫자의 개수
2020. 10. 17. 22:44
Programming/알고리즘
www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다. www.acmicpc.net 언어 : cpp 방법은 간단하다. 곱하기 한 숫자를 /10해가면서 나머지만 비교연산하는 것이다. 자존감 살리기 쉬운문제 풀기,,^^,, #include using namespace std; int main() { int a, b, c,q,comp; int cnt[10] = {0,}; int total; cin >> a; cin >> b; cin >> c; if (a 1000 || b 1000 || c < 100 || c..
백준 3190 뱀
2019. 10. 11. 20:58
Programming/알고리즘
덱을써서 뱀의 길이를 계산한다 꼬리 짧아지면 뒤에서 pop 머리가 앞으로 나아가면 push_front -소스코드(c++) #include #include using namespace std; int main() { int dx[4] = { 0,1,0,-1 }; int dy[4] = { 1,0,-1,0 }; int applenum, num, selnum, changetime, time = 0, d = 1, nx = 0, ny = 0; int applex, appley; char chsel; deque turn; deque snake; snake.push_back({ 0, 0 }); int arr[101][101] = { 0, }; cin >> num; cin >> applenum; for (int i = ..
정렬 알고리즘 - 수정
2017. 11. 17. 16:57
Programming/알고리즘
▼정렬(Sorting) 1)내부 정렬 : 데이터의 크기가 주기억장소 용량보다 적을 경우 기억장소를 활용하여 정렬하는 기법 ex) 버블 정렬(Bubble Sort) 삽입 정렬(Insertion Sort) 선택 정렬(Selection Sort) 퀵 정렬(Quick Sort) 쉘 정렬(Shell Sort) 힙 정렬(heap Sort) 2)외부 정렬 : 데이터의 크기가 주기억장소 용량보다 클 경우 외부 기억장치(디스크,테이프..)를 사용하여 정렬하는 기법 ex) 합병 정렬 (Merge Sort) ▼버블 정렬(bubble sort) :나란히 있는 두 개의 데이터를 계속해서 바꾸는 방식 1) list[i] > list[i+1] 이면 (i=0,1,2 ~ n-2)에 대하여 비교 후 바꿈 -> 가장 큰 값이 맨 뒤로 이..