본문 바로가기
반응형

분류 전체보기38

[iOS] UITableView Scroll issue에 대해 - pointee 활용법 테이블뷰 인스타그램 검색 화면 애니메이션 func scrollViewWillEndDragging 를 이용해 구현하였다. pointee를 이용해 내가 가리키고 있는 y축이 게시물의 절반을 넘어갈 때 화면이 밑으로 이동해 화면 맨 위에 cell의 top이 딱 걸리도록 하는 마치 인스타그램 검색 화면과 같이 딱딱 넘어가는 테이블 뷰를 만들고 싶은 게 목적! 기본적으로 imageTableView.decelerationRate = .fast imageTableView.contentInsetAdjustmentBehavior = .never TableView의 스크롤 속도를 높이고, ScrollView의 Content 영역에 Safe Area Insets을 never로 주어 inset을 없애고 시작하였다. func .. 2022. 9. 27.
[Swift] Swift의 코드 성능과 Dispatch https://codingfriend.tistory.com/39 [Swift] Method Dispatch에 대해 Method Dispatch란? "내가 호출할 함수가 무엇인지 결정하는 과정" 가장 쉬운 예를 들어보자. 부모 클래스와 자식 클래스가 있을 경우, class Animal { init() { print("Animal Created") } func makeNoise() { fa.. codingfriend.tistory.com 지난 글에서 Static Dispatch와 Dynamic Dispatch의 차이와 코드 속도에 대해 배웠다. 어떤 메소드를 호출할 지 결정하는 시점의 차이가 핵심이었다. Static Dispatch Dynamic Dispatch 컴파일 시점 런타임 시점 코드 성능을 위해선 .. 2022. 9. 25.
[Swift] Method Dispatch에 대해 Method Dispatch란? "내가 호출할 함수가 무엇인지 결정하는 과정" 가장 쉬운 예를 들어보자. 부모 클래스와 자식 클래스가 있을 경우, class Animal { init() { print("Animal Created") } func makeNoise() { fatalError("Must Override to get specific Noise") } } class Cat: Animal { override init() { print("Cat created") } override func makeNoise() { print("Mews") } } let cat = Cat() cat.makeNoise() cat.makeNoise()는 Animal의 메소드를 호출할 것인가, Cat의 메소드를 호출할 것.. 2022. 9. 24.
[백준] 5052번 : 전화번호 목록 / java - String, Hash 문제 https://www.acmicpc.net/problem/5052 5052번: 전화번호 목록 첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 50) 각 테스트 케이스의 첫째 줄에는 전화번호의 수 n이 주어진다. (1 ≤ n ≤ 10000) 다음 n개의 줄에는 목록에 포함되어 있는 전화번호가 www.acmicpc.net [ 코드 ] import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedRe.. 2022. 5. 6.
[백준] 9465번 : 스티커 / java - DP 문제 https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net [ 코드 ] import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br.. 2022. 4. 17.
[백준] 1149번 : RGB거리 / java - DP 문제 https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net [ 코드 ] import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.StringTokenizer; public class Main { final static int Red = 0; final static int Green = 1; fin.. 2022. 4. 13.
[프로그래머스] 신규 아이디 추천 / java - String 문제 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr [ 코드 ] class Solution { public String solution(String new_id) { String answer = ""; answer = new_id; //1 answer = answer.toLowerCase(); //2 answer = answer.replaceAll("[^a-z0-9-_.]",""); //3 while(an.. 2021. 8. 26.
[백준] 16236번 : 아기 상어 / java https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net [ 코드 ] import java.awt.Point; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.uti.. 2021. 8. 9.
[프로그래머스] 문자열 내림차순으로 배치하기 / java https://programmers.co.kr/learn/courses/30/lessons/12917 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 programmers.co.kr [ 코드 ] import java.util.*; class Solution { public String solution(String s) { char[] arr = s.toCharArray(); Arrays.sort(arr); StringBuilder answer = new StringBuilder(new String(arr)); r.. 2021. 7. 15.
[프로그래머스] 숫자 문자열과 영단어 / java https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr [ 코드 ] class Solution { public int solution(String s) { int answer = 0; String ans = ""; String[] eng_num = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"}; char[] .. 2021. 7. 9.
[프로그래머스] 짝지어 제거하기 / java https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr [ 코드 ] import java.util.*; class Solution { public int solution(String s) { Stack stack = new Stack(); for (char c : s.toCharArray()) { if(stack.isEmpty() || stack.peek() != c) { stack.add(c); }el.. 2021. 7. 7.
[프로그래머스] 위장 / java https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr [ 코드 ] import java.util.*; class Solution { public int solution(String[][] clothes) { int answer = 1; HashMap map = new HashMap(); for(int row = 0; row < clothes.length; row++) { String c = clothes[row][1]; map.put(c, map.getOrDefault(c, 1) + 1); } for(String key: map.keySet()) { answer *= map.get(key); } re.. 2021. 7. 1.
반응형