전체 글(223)
-
[알고리즘] Swift -백준 #2884 (알람 시계)
문제링크 https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net 문제 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다. 이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다. 바로 "45분 일찍 알람 설정하기"이다. 이 방법은 단순하다. 원래 설..
2022.08.08 -
[알고리즘] Swift -백준 #1712 (손익분기점)
문제링크 https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 문제 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다. 예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만..
2022.08.08 -
[Python] 아스키코드 변경
ord() 아스키코드로 변환해주는 함수 A = input() print(ord(A)) 파이썬 칭찬해
2022.08.08 -
[Python] 사칙연산
더하기 / 빼기 / 곱하기 / 나누기 / 몫구하기 / 나머지구하기 A, B = map(int, input().split()) print(A+B) print(A-B) print(A*B) print(A//B) print(A%B) 나누기는 소수점까지 쭉 계속 다 나옴
2022.08.08 -
[UIKit] 로컬푸시 알림구현
https://beenii.tistory.com/182 Local Notification (로컬 푸시) 구현하기 대부분 앱을 사용하시다보면 푸시알림을 무수히 받아보셨을거예요. 저도 잠시 계약한 스타트업에서 진행하고 있는 프로젝트에서도 Push 알림을 구현해야한다고 하셔서 푸시알림에 대해 알아보 beenii.tistory.com https://inuplace.tistory.com/1243
2022.08.07 -
[UIKit] 컬렉션뷰 왼쪽정렬
아주 간단 https://eunjin3786.tistory.com/401 [iOS] Single CollectionViewCell을 왼쪽 정렬(left align) 하기 # 이슈 collectionview 안에 cell이 두개 이상이면 왼쪽 정렬이 된다. 하지만 cell이 하나 일 때만 센터 정렬이 된다. # 해결 collectionView의 estimate size를 automatic -> none 으로 바꾸면 single cell 일.. eunjin3786.tistory.com
2022.08.07 -
[UIKit] 스크롤뷰/테이블뷰 제일 밑으로 이동
테이블뷰 데이터 불러오기 -> 테이블에 데이터 추가 -> 테이블뷰 리로드 -> 제일 밑으로 이동 self.chatResult += chatresult self.chatTableView.reloadData() self.scrollToBottom() func scrollToBottom(){ DispatchQueue.main.async { if self.chatResult.count > 0 { let ip = IndexPath(row: self.chatResult.count-1, section: 0) self.chatTableView.scrollToRow(at: ip, at: .bottom, animated: true) } } refreshControl.endRefreshing() } 꼭 비동기로 진행해줘야함..
2022.08.06 -
[UIKit] 텍스트필드 입력(클릭) 시 키보드 올리기/내리기
🧸 시작 텍스트필드를 사용할 때 키보드가 위로 올라왔다가 내려갔다가 한다. 키보드가 올라가면서 화면을 가리게 되는 데 입력하는 텍스트필드가 가려질 때가 있다. 그러면 화면에 있는 컴포넌트들도 위로 올라가야한다. 이를 해결하기 위한 방법이다. 적용 전 적용 후 🧸 키보드 옵저버를 생성한다. func keyboardObserver() { NotificationCenter.default.addObserver(self, selector: #selector(keyboardWhillShow), name: UIResponder.keyboardWillShowNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector..
2022.08.06 -
[UIKit] "keyWindow' was deprecated in iOS 13.0 : Should not be used for applications that support multiple scenes as it returns a key window across all connected scenes" error 에러 해결
let keyboardHeight = keyboardFrame.cgRectValue.height let scenes = UIApplication.shared.connectedScenes let windowScene = scenes.first as? UIWindowScene let window = windowScene?.windows.first if self.viewCommentConstraint.constant == 0{ self.viewCommentConstraint.constant += (keyboardHeight-(window?.safeAreaInsets.bottom ?? 0)) } [키보드 전체코드] https://nlestory.tistory.com/112 [iOS/Swift] 텍스트필드 입력(..
2022.08.06 -
[UIKit] 위에서 올라오는 바텀시트(모달창) 만들기 (FloatingPanel 라이브러리)
라이브러리 사용하였다 정보가 너무 없어서 구현하는 데 너무 힘들었다 라이브러리 주소 https://github.com/scenee/FloatingPanel#change-the-backdrop-alpha GitHub - scenee/FloatingPanel: A clean and easy-to-use floating panel UI component for iOS A clean and easy-to-use floating panel UI component for iOS - GitHub - scenee/FloatingPanel: A clean and easy-to-use floating panel UI component for iOS github.com 일단 뷰컨으로 바텀시트를 하나 만든다 뷰사이를 전체로 ..
2022.08.06 -
[UIKit] 테이블뷰 셀안에 있는 버튼 클릭 이벤트 처리하기 -델리게이트 패턴
[델리게이트패턴 사용하기] 더보기 https://nlestory.tistory.com/155 [Design Pattern] 디자인패턴 -델리게이트 패턴 (Delegate Pattern) 👉 Delegate 란? 사전적의미는 '위임하다'라는 뜻이다. 즉 위임자를 갖고 객체가 다른 객체에게 자신의 일을 위임하는 형태 👉 이벤트를 전달하는 방식 만약에 A뷰컨트롤러에서 B뷰컨트롤러로 이 nlestory.tistory.com 테이블뷰셀에서 일단 누르고 싶은 버튼에 클릭이벤트 생성하기 @IBAction func btnMoreAction(_ sender: Any) { } 그리고 테이블뷰에 프로토콜 생성 protocol BtnMoreDelegate { func btnMoreAction(index: Int) } 자신이 ..
2022.08.06 -
[UIKit] 네비게이션바 뒤로가기 아이템 설정 변경
let backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: self, action: nil) backBarButtonItem.tintColor = .darkGray self.navigationItem.backBarButtonItem = backBarButtonItem 해당코드를 넘어갈 뷰컨에다 해주는것이 아니라 넘기기전에 해줘야함
2022.08.05 -
[UIKit] 루트뷰 변경하기, 상황에 따라 초기화면 변경하기
https://blog.naver.com/PostView.nhn?blogId=psj9102&logNo=222094915075&categoryNo=73&parentCategoryNo=0&viewDate=¤tPage=1&postListTopCurrentPage=1&from=postView Swift : 첫화면(Root)을 어떤걸 보여줄까 ( Login 로직 ) * 독학 블로그 이므로 틀린 부분이 있을 수 있습니다. 서로의 정보를 댓글로 공유해주세요. 이 포스팅은 아... blog.naver.com
2022.08.04 -
[UIKit] Firebase 연동하여 회원가입하기
기본적인 파이어베이스 세팅 https://sujinnaljin.medium.com/ios-firebase-%ED%8C%8C%EC%9D%B4%EC%96%B4%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%97%B0%EB%8F%99-56bcc972ec8f [iOS] Firebase 연동 iOS 파이어베이스 연동을 통해 Analytics, FCM 등을 사용해보자 sujinnaljin.medium.com 여기에서 쭈꾸쭈쭈꾸쭈꾺~ 설정 나는 회원가입/로그인을 사용할 거라 #파이어베이스 pod 'Firebase' pod 'FirebaseAuth' pod 'FirebaseStorage' 이렇게 추가해주었다 구글서비스인포 등록! 앱델리게이트도 설정 완료! 이제 회원가입할 뷰로 가서 이메일과 비밀번호만 받아서 ..
2022.08.03 -
[스터디] Python -순열(permutations), 조합(combinations)
순열(permutations) n개 중에서 r개를 고르는 것 (중복O) from itertools import permutations v = [0, 1, 2, 3] for combi in permutations(v, 2): print(combi) 조합(combinations) n개 중에서 순서에 상관없이 r개를 고르는 것 (중복X) from itertools import combinations v = [0, 1, 2, 3] for combi in combinations(v, 2): print(combi)
2022.08.03 -
[알고리즘] Python -백준 #3040 (백설 공주와 일곱 난쟁이)
문제링크 https://www.acmicpc.net/problem/3040 3040번: 백설 공주와 일곱 난쟁이 매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다. www.acmicpc.net 문제 매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다. 어느 날 광산에서 아홉 난쟁이가 돌아왔다. (왜 그리고 어떻게 아홉 난쟁이가 돌아왔는지는 아무도 모른다) 아홉 난쟁이는 각각 자신이 백설공주의 일곱 난쟁이라고 우기고 있다. 백설공주는 이..
2022.08.03 -
[알고리즘] Python -백준 #17614 (369)
문제링크 https://www.acmicpc.net/problem/17614 17614번: 369 민수는 같은 반 친구들과 369게임을 하고 있다. 369게임은 여러 명이 원형으로 둘러 앉아 시작 위치의 사람이 1을 외치며 시작된다. 이후 시계방향으로 돌아가며 2, 3, 4와 같이 1씩 증가된 수가 자 www.acmicpc.net 문제 민수는 같은 반 친구들과 369게임을 하고 있다. 369게임은 여러 명이 원형으로 둘러 앉아 시작 위치의 사람이 1을 외치며 시작된다. 이후 시계방향으로 돌아가며 2, 3, 4와 같이 1씩 증가된 수가 자기 수가 된다. 순서대로 돌아오는 자기 수에 3, 6, 혹은 9가 포함되어 있지 않다면 그 수를 말해야 하며, 3, 6, 혹은 9가 포함되어 있으면 그 개수만큼 박수를 쳐..
2022.08.03 -
[알고리즘] Python -백준 #2739 (구구단)
문제링크 https://www.acmicpc.net/problem/2739 2739번: 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. www.acmicpc.net 문제 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. 입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다. 출력 출력형식과 같게 N*1부터 N*9까지 출력한다. 풀이 n = int(input()) for i in range(1, 10): print(f'{n} * {i} = {n*i}') 결과 틀린 부분이나 수정사항, 좋은 방법 아시는 분은 알려주세욤....
2022.08.03 -
[알고리즘] Python -백준 #1000 (A+B)
문제링크 https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A+B를 출력한다. 풀이 a, b = map(int, input().split()) print(a+b) 결과 틀린 부분이나 수정사항, 좋은 방법 아시는 분은 알려주세욤....
2022.08.03 -
[스터디] Python -반복문
기본적인 반복문, 인덱스번호 출력 list = list(map(int, input().split())) for i in range(0, len(list)) : print(i) 배열의 아이템 출력 list = list(map(int, input().split())) for item in list : print(item)
2022.08.03