문제 https://programmers.co.kr/learn/courses/30/lessons/12977 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. 접근방법 3개의 수를 뽑아야 하니깐 조합으로 3개의 수를 뽑고 그 수의 합이 소수이면 count += 1 return count 뽑아야 할 수가 적다면, 단순하게 for문을 뽑을 갯수만큼 만들어 주면 조합이 된다. 요런식으로.. 3개를 뽑는건 for문 3개.. 단 많을경우 dfs를 통해 조합을 만들어 주면 된다. 풀이
문제 https://programmers.co.kr/learn/courses/30/lessons/12973 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다. 접근..
안녕하세요! 오랫만의 개발 포스팅 이에요!(요즘은 알고리즘 문제를 주로 풀고있어요..) 오늘은 TextField를 사용하면서 알게 된 나름 꿀팁을 포스팅 해볼까 합니다! TextField는 자주 사용하는 ui이기 때문에 저도 정리해뒀다가 좋은것 생각나면 하나하나 추가해볼려구요! 꿀팁 조언해주셔도 되요..(댓글로.. 미리 감사합니당) 그럼 시작하겠습니당 ㅇ_ㅇ 1. 아무대나 탭 하여 키보드 내리기 사용하는 사람 입장에서 이 기능 없으면 엄청 답답하거든요... =_= 꼭 넣어줘야 해요. text를 입력할 수 있는 란에 포커싱 되어 있는 상태에서 키보드를 내리는 코드에요. self.view.endEditing(true) // 입력 끝났어요.. view에 포한된 textField의 first responder ..
문제 https://programmers.co.kr/learn/courses/30/lessons/67257 계산식을 문자열로 입력받아 계산을 하는데, 연산자 우선순위(같은경우는 없고 다 달라야함)에 따라 계산값이 달라지는데, 이 중 최댓값을 출력하는 문제. 문제 규칙상 계산식의 결과가 상금임으로 음수가 나올 경우 절댓값으로 계산. 접근 방법 위 문제를 풀려면 우선 사칙연산을 할 줄 알아야 한다. 사칙연산 문제에서 연산자 우선순위가 추가된 문제. 사칙연산을 풀려면 연산자 우선순위에 따라 계산하기 편한 후위 표기법으로 변경하여 풀 수있다. 즉 식을 Stack을 사용해서 후위 표기법으로 변경 후위 표기법 계산 방법을 Stack을 사용해서 풀이 과정을 통해 풀 수 있다. 식을 후위 표기법으로 변경 방법 var ..
문제 https://programmers.co.kr/learn/courses/30/lessons/12953 자연수 array 입력받으면 array 수들의 최소 공배수 return 접근 방법 유클리드 알고리즘을 사용하면 두 수의 최소공배수를 빠르게 구할 수 있다. > 유클리드 알고리즘 두 수 a, b가 있으면 최소 공배수는 a*b / 최대 공약수 인데, 최대 공약수 구하는 방법은 r = a&b 에서 나눈 나머지를 r이라고 하면 if r == 0 {b는 최대 공약수} else { b = a a = r // 로 해서 다시 반복 } 하다 보면 최대 공약수가 구해진다. 위 과정은 소인수 분해를 하는 과정을 사용한 것이다. 최대 공약수를 구했으면 이 값을 이용해 최소 공배수를 구할 수 있다. 최소공배수 ..
문제 https://www.acmicpc.net/problem/9663 N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. 접근 방법 백트레킹 문제. dfs로 접근하되, 필요없어 보이는 노드는 무시하며 탐색(프루닝) 처음엔 2차원 배열로 둘 수 있는 공간 true 둘 수 없으면 false 로 두고 채크하는식으로 풀었는데 시간초과.. 불필요한 부분들 줄여가면서 라인 한줄만 체크하면 된다는걸 알게되서 대각선 체크를 굳이 다 하지 말고 depth 한칸당 좌우 shift를 해줌으로써 해결 코드 풀이 1 (시간초과 ㅠ) 풀이 2(통과)
- Total
- Today
- Yesterday
- presentStyle
- RxDataSource
- Github Search
- RxSwift
- TransitionStyle
- 백준 1946
- BaseTableViewController
- BaseViewController
- 알고리즘
- 프로그래머스 오픈채팅방
- VIPER 패턴
- Stack
- UIModalPresentationStyle
- Swift
- Level 3
- today extension
- 괄호연산
- 위젯
- Widget
- 카카오 블라인드2018
- 카카오블라인드2018
- 프로그래머스 캐시
- 아키택처
- 백준 신입사원
- ReactorKit
- 자기PR
- 카카오 블라인드 2018
- ios
- 1차 뉴스 클러스터링
- 프로그래머스 추석트래픽
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |