일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 깃허브 토큰 인증
- 모두의네트워크
- HTTP
- 자바
- React Native
- 백준
- 백준 5525번
- 모두의 네트워크
- 리액트 네이티브 시작하기
- 깃 연동
- 백준 4949번
- 깃 터미널 연동
- SQL
- 팀플회고
- 지네릭스
- 정리
- 모두를 위한 딥러닝
- 스터디
- 모두를위한딥러닝
- 문자열
- 깃허브 로그인
- 리액트 네이티브
- 네트워크
- 딥러닝
- 머신러닝
- 백준 4358번
- 리액트 네이티브 프로젝트 생성
- 데이터베이스
- 데베
- 백준 4358 자바
- Today
- Total
목록Algorithm (35)
솜이의 데브로그
https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 문제 풀이 Stack을 사용해서 푸는 문제이다. 입력받은 배열에서 순서대로, 스택의 top에 위치하는 수보다 더 작으면 stack에 인덱스를 넣고, 더 큰 경우 해당하는 인덱스의 배열보다 큰 가장 왼쪽의 수이므로 배열에 바로 입력한다. 이해하고나면 쉬운데, 스택의 특징을 잘 생각해서 for 문을 두번 돌지 않도록 효율적으로 떠올릴 수 있는지를 생각해내야하는 문제이다. 코드 import java.io.*; i..
https://leetcode.com/problems/remove-element/ Remove Element - 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 문제 풀이 새로운 배열을 생성하지 않고 기존에 있던 배열을 변경하는 방식으로 풀어야하는 문제다. index를 따로 지정해주고, val 값이랑 일치하지 않는 경우에만 앞에서부터 배열에 넣어주는 방식으로 진행하고, 최종 index 값을 return 해주면 되는 간단한 문제이다. 코드 class Solution..
https://leetcode.com/problems/zigzag-conversion/ Zigzag Conversion - 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 문제 풀이 StringBuilder의 배열을 생성하고, 각 배열마다 numRows의 수만큼 내려가고, 대각선 수 즉 numRows-2 만큼씩 이동하면서 StringBuilder배열에 character를 넣어준다. 그렇게 순차적으로 읽어가면서 넣어주고 마지막에 StringBuilder를 모두 합쳐..
https://leetcode.com/problems/two-sum/ Two Sum - 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 문제 풀이 1 가장 간단한 방법으로, brute force 방식으로 문제를 풀이하였다. 배열 내 가장 첫번째숫자부터 기준으로 잡고 돌면서 해당 숫자와 더해서 target 수가 되는 수가 있는지 체크하고, 있다면 해당 index를 반환하는 방식으로 이중 for문을 사용하였다. 이렇게 하면 시간복잡도가 O(n^2) 라서 효율적이지는 ..
https://leetcode.com/problems/roman-to-integer/ Roman to Integer - 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 문제 풀이 각 알파벳에 대응 하는 숫자를 입력해야하는데, HashMap을 사용해서 각 Character 별 Integer를 입력해둔다. HashMap 로 저장. 그리고 입력받은 문자열의 뒤부터 앞으로 돌아오면서 앞의 수가 더 큰지 확인하고, 해당하는 숫자에 매칭되는 값으로 가져와 더하거나 빼는 방식..
https://programmers.co.kr/learn/courses/30/lessons/59413 코딩테스트 연습 - 입양 시각 구하기(2) ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 programmers.co.kr 코딩테스트 연습 > GROUP BY > 입양 시각 구하기(2) 문제 보호소에서 몇시에 입양이 가장 활발하게 일어나는지 알아보는 문제. 0시부너 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성. 이 때 결과는 시간대 순으로 정렬해야..
https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 문제 풀이 익은 토마토를 배열에 입력하면서, 큐에 동시에 집어넣는다. BFS 함수를 호출하면서 큐에서 토마토들을 꺼내며 x, y 축으로 하나씩 이동하여 익은토마토인지 아닌지 확인하며 날짜를 더해나간다. 만약에 이미 익었으면 따로 체크하지 않고, 토마토가 0 즉 익지 않은 경우에만 그 옆의 토마토가 익은 날짜에 +1 을 한다. 마지막으로 모든 배열을 돌아가면서 확인하여 토마토가 최종..
https://www.acmicpc.net/problem/24552 24552번: 올바른 괄호 첫번째 줄에 문자열 $S$가 공백 없이 주어진다. ($3 \leq \vert S \vert \leq 100\,000$, $\vert S \vert$는 홀수이다.) 답은 $1$ 이상이다. 즉, 지웠을 때 올바른 괄호열이 되는 문자가 적어도 하나 존재한다. www.acmicpc.net 문제 풀이 누적합으로 푸는 문제라고 하는데, 나는 배열로 저장하지는 않고 int 에서 +, -로 풀었다. 먼저 입력받은 문자열에서 총 여는 괄호와 닫는 괄호의 개수를 확인한다. 둘 중 어떤 괄호의 개수가 더 많은지 확인 후, ( 괄호의 개수가 많을 경우 왼쪽에서부터 확인하면서 올바른 괄호가 완성된 이후부터 ( 개수를 count 해서 ..