일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 연속된 부분 수열의 합 투포인터
- 연속된 부분 수열의 합 swift
- rxswift
- swift 9095 풀이
- MVVM
- swift algorithm
- iOS Charts
- 1 2 3 더하기 풀이
- ac 투포인터
- swift gRPC
- swift 프로그래머스
- swift codility
- swift ac 풀이
- ac swift 풀이
- 백준 2xn 타일링 풀이
- swift
- 123 더하기 풀이
- swift dfs
- ios
- swift ac
- ac 구현 풀이
- swift ac 문제풀이
- swift 연속된 부분 수열의 합
- swift 백준 9095
- swift 알고리즘
- swift 연속된 부분 수열의 합 풀이
- swift 2xn 타일링 풀이
- 백준 2xn 타일링
- swift 2xn 타일링
- swift 2xn 타일링 백준
- Today
- Total
목록
728x90
전체 글
728x90
반응형
(52)
boraBong
💬 문제 https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 💬 Idea 함수 수행시 R이 나올 때마다 reverse를 수행하고, D가 나올 때마다 removeFirst()를 수행해주었더니 시간 초과가 발생했다. 따라서 투포인터 방식을 활용해서 풀이해주었다. R을 수행할 차례라면 isReverse flag를 변경해준다 D를 수행할 차례라면 pointer가 reversepointer보다 크다면 → error인 경우이므로 error를 출력하고 continue문을 수행시킨다. (-> labeled로 인해 중첩..
💬 문제 https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💬 Idea 투포인터를 이용해서 풀이하자는 아이디어를 떠올려 풀이했다. 연속된 부분 수열의 합을 저장하는 sum 변수를 두고, 현재 누적합이 k보다 작거나 같다면 p2(right)를 1씩 증가 (오른쪽 포인터 증가) p2를 증가시키면서 수열을 늘리기 때문에 p2를 증가시키고 누적합에다 p2 원소만큼을 더해줌. 현재 누적합이 k보다 크다면 p1(left)를 1씩 증가 (왼쪽 포인터 증가)..
💬 문제 https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 💬 Idea 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하자. 주어지는 직사각형의 너비 길이가 길어짐에 따라 이를 2x1, 1x2의 작은 단위 조합으로 쪼개어 본다면 규칙을 찾을 수 있었다. 기본적으로 2x1 크기의 직사각형은 2x1 타일 1개로만 채워질 수 있기에 1가지의 방법을 갖고 2x2 크기의 직사각형은 2x1 타일 2개 또는 1x2 타일 2개로 채워질 수 있기에 2가지의 방..
💬 문제 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 이 문제는 DP의 기본문제라고 할 수 있습니다. 그치만 아직 DP가 익숙하지 않아서 점화식이 바로바로 떠오르지가 않았기에 깊게 고민이 필요했어요.. 후우 뭔가 알 것 같은데.. 규칙이 보일 것 같은데, 머릿속에서 얽혀버려서 결국 다른 풀이를 참고했습니다! 풀이를 참고하고 보니 접근법까지는 맞았는데, 어느샌가 1, 2, 3의 합으로 나타내는 이라는 중요한 key point를 놓치고 있었어요. 진짜 DP는 풀이를 참고하면 할수록 신세계인 것 같아요 .. 어떤 분이 블로그에 고민하다가 보는 ..
💬 문제 https://school.programmers.co.kr/learn/courses/30/lessons/68645 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💬 Idea 삼각형을 채울 때 n에서부터 ↙️ ➡️ ↖️ 의 규칙을 따르며 숫자가 채워지고, 채워지는 기준 개수가 -1씩 줄어든다는 것을 발견하여 해당 원리를 이용해 문제를 풀이했다. 반복문을 돌며 trianglePoint 변수를 1씩 증가하면서, 3으로 나눈 나머지로 규칙을 갖게끔 설계하였다. (삼각형이므로 3씩 기점으로 패턴이 반복됨) 3으로 나눈 나머지가 1일 때 : 하강 (y--)..
💬 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42860 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음엔 그리디 유형의 문제라고 해서 어떻게든 간단한 풀이방법을 찾아내려고 했습니다. 그렇지만 최선의 결과를 도출하려면 이동의 경우의 수를 모두 파악하고 계산할 필요가 있었습니다. 순간 재귀로 풀까 하는 생각이 들어서, 그리디로 풀이하는 힌트를 얻고자 질문하기에 들어갔는데 사람들이 화가 많이 나있었어요 ! ㅋㅋㅋㅋㅋㅠㅠㅠ 넘 공감... 질문하기를 살펴보니 그리디로는 최소 이동 횟수를 파악하..
안녕하세요 보라봉입니다 :) 요즘 문제를 풀면서 이전보다 다른 풀이를 참고하는 일이 적어졌다는 걸 느꼈습니다! 아주 조금은 발전한 것 같다는 생각이 들었고, 그러면서 블로그에 저만의 알고리즘 풀이를 올리는 빈도가 늘게 된 것 같아요. 특히 프로그래머스 레벨2를 풀기 시작하면서는 이렇게 푸는게 맞나 고민하는 시간도 많았고, 1시간이 지나도 끙끙대면서 결국 다른 분의 풀이를 참고해서 문제를 해결하는 경우가 많았습니다. 그러면서 자신감도 조금씩 사라졌었는데요.. 알고리즘을 계속 공부하고 또 도전하면서, 점점 높은 레벨의 문제를 도전하고 풀어보면서 제 온전한 힘으로 문제를 풀게 되는 빈도도 늘어나는 것 같슴니다...! 😂 (그렇지만 아직도 어려운 알고리즘의 길..) 이 재미와 희열감 때문에 개발공부가 즐거웠고 ..
💬 문제 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 💬 Idea 토마토가 모두 익을 때까지의 최소 날짜를 구하기 위해서 BFS를 수행하자. N X M 크기의 tomatos 2차원 배열을 만든다. 저장될 때부터 익혀진 토마토 (=1)의 좌표를 찾아 ripeTomatos 배열에 저장해준다. 만약 저장될 때부터 모든 토마토가 익어있는 상태라면 0을 출력하고, 그렇지 않으면 bfs를 수행한다. bfs를 수행하기에 앞서 queue에..