알고리즘
-
[구름Level] 최대 자리곱알고리즘/기타 2022. 11. 1. 15:37
https://level.goorm.io/exam/49113/%EC%B5%9C%EB%8C%80-%EC%9E%90%EB%A6%AC%EA%B3%B1/quiz/1 구름LEVEL 코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이 level.goorm.io [문제풀이 전] 우선 1~n까지 다 구하는 건 아닐 것 같고 직접 최대 곱을 구할 때를 보니, 현재 자리곱이나 9로 끝나는 경우를 비교해보면 최대곱을 찾을 수 있었다. 예를 들어, 4876은 3999, 4799, 4869, 4876를 비교하면 되고 이는 4000-1, 4800-1, 4870-1..
-
[월간 코드 챌린지1] 삼각달팽이 (java, 2차원 배열 생성X)알고리즘/프로그래머스 2022. 9. 29. 18:27
https://school.programmers.co.kr/learn/courses/30/lessons/68645 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제풀이 전] 처음 봤을 때, result가 2차원 배열 나열한 느낌이라 2차원 배열로 만들고 다시 1차원 배열에 넣으면서 풀면 되겠다 ~ 싶었는데(n도 1000이하라서), 뭔가 2차원 배열없이도 풀 수 있을 것 같아서 이 방법은 패스하고 생각해봤다. 우선 회전할 때 아래와 같이 진행된다. ↙→↖ 이 3가지 방향으로 진행됨을 알 수 있다. 그리고 화살표의 길이(=숫자의 수)를 보면 n, n-1,..
-
[월간 코드 챌린지1] 풍선 터트리기 (java)알고리즘/프로그래머스 2022. 9. 23. 16:04
https://school.programmers.co.kr/learn/courses/30/lessons/68646# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제풀이 전] (문제 해결 전 여러가지 시도) 문제를 코드로 구현해서 실행하면, 시간초과나 메모리초과로 문제를 해결할 수 없다. 해당 문제는 작은 수를 선택하는 것은 한번만 선택 가능하다는 규칙이 있다. 이를 이용하면, 특정 값 기준으로 양쪽에 자신보다 작은 값이 있다면 터트리지 못한다는 뜻이다. (-> 이렇게 되면 최소 두번은 작은 수를 터트려야하기 때문) 하지만, 이걸 그대로 구현하면 n^..
-
[Cos pro 1급] 6차 문제3) 큰수와 작은수의 차이(java)알고리즘/기타 2022. 8. 25. 17:15
https://edu.goorm.io/learn/lecture/17301/cos-pro-1%25EA%25B8%2589-%25EA%25B8%25B0%25EC%25B6%259C%25EB%25AC%25B8%25EC%25A0%259C-java COS PRO 1급 기출문제 - Java - 구름EDU YBMIT에서 시행하는 COS Pro 자격증으로 기출문제를 직접 풀어볼 수 있는 실습 위주의 강좌입니다. edu.goorm.io [문제] [문제풀이] import java.util.*; class Main { public int solution(int[] arr, int K) { int answer = arr[arr.length-1]-arr[0]; Arrays.sort(arr); for(int i=0;i+K
-
[Cos pro 1급] 6차 문제2) 단어를 순서대로 적으세요 (java)알고리즘/기타 2022. 8. 25. 16:31
https://edu.goorm.io/learn/lecture/17301/cos-pro-1%25EA%25B8%2589-%25EA%25B8%25B0%25EC%25B6%259C%25EB%25AC%25B8%25EC%25A0%259C-java COS PRO 1급 기출문제 - Java - 구름EDU YBMIT에서 시행하는 COS Pro 자격증으로 기출문제를 직접 풀어볼 수 있는 실습 위주의 강좌입니다. edu.goorm.io [문제] [문제풀이] import java.util.*; class Main { public int solution(int K, String[] words) { int answer = 1; // 첫밴째 줄부터 시작함 int cnt = K; // 남은 칸 int word_len; for(int..
-
[Cos pro 1급] 6차 문제1) 꽃피는 봄이 언제 오나요 (java)알고리즘/기타 2022. 8. 25. 16:25
https://edu.goorm.io/lecture/17301/cos-pro-1급-기출문제-java COS PRO 1급 기출문제 - Java - 구름EDU YBMIT에서 시행하는 COS Pro 자격증으로 기출문제를 직접 풀어볼 수 있는 실습 위주의 강좌입니다. edu.goorm.io [문제] [문제풀이 전] 핀 꽃을 저장하고 저장한 값을 통해 다음 필 꽃을 저장해 반복하는 로직을 생각했다. [문제풀이] import java.util.*; class Main { public int solution(int n, int[][] garden) { // 0 피지 않은 꽃 1 핀 꽃 int answer = 0; int[] dx = {1, 0, -1, 0}; int[] dy = {0, 1, 0, -1}; ArrayL..
-
[카카오 인턴] 키패드 누르기 (c++, 파이썬)알고리즘/프로그래머스 2022. 7. 27. 20:35
https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제풀이 전] 우선 거리계산은 숫자로 하면 될 것 같아서 * = 10, 0 = 11, # = 12로 수정해서 문제를 풀었다 문제에 나온 설명대로 코드를 짜고 거리 계산하는 법만 고민하면 쉽게 풀릴 것 같았다 거리 계산은 뭔가 규칙이 있어서 식으로 정리할 수 있을 것 같아 보다가, 이동하는 것을 아래와 같이 정리할 수 있었고 ← : -1, ↑ : -3, ↓ : +3, → : +1 이를 이용해 문제..
-
카카오프렌즈 컬러링북 (c++)알고리즘/프로그래머스 2022. 7. 27. 11:45
https://school.programmers.co.kr/learn/courses/30/lessons/1829 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr : 전체를 탐색해야하기 때문에 DFS 나 BFS로 풀이하면 됨. DFS와 BFS의 차이는 DFS는 stack으로 구현, BFS는 queue로 구현이라고 생각하면 기억하기 좋다. 재귀함수로 구현하는게 편할 것 같아서 재귀함수로 구현 -> DFS [문제풀이] #include using namespace std; bool check[100][100]; // 영역 재탐색 방지를 위한 배열 int dx[4]..