프로그래머스 - n의 배수(Swift)
알고리즘/프로그래머스2025. 3. 31. 01:14프로그래머스 - n의 배수(Swift)

문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  내 풀이import Foundationfunc solution(_ num: Int, _ n: Int) -> Int { if (2...100).contains(num) && (2...9).contains(n) { return num % n == 0 ? 1 : 0 } fatalError("잘못된 수")} if문으로 제한사항에 있는 2이상 100이하 그리고 2이상 9이하의 조건에서 삼항연산자 사용num을 n으로 나눠서 나머지가 없다면 num은 n의 배수이기때문에 1을 return.반다의 경우 배수가 아니기 때문에 0을 return

개발일지2025. 3. 23. 19:342025.03.23

[Ting] 유저피드백 / Textfield 공백검증, 특수문자 검증 구현, 키보드 내리는 기능 구현
카테고리 없음2025. 2. 19. 23:07[Ting] 유저피드백 / Textfield 공백검증, 특수문자 검증 구현, 키보드 내리는 기능 구현

유저피드백을 받았다. 1. 닉네임 이외에 다른 필드에서 공백 한번으로 비어있는 정보 생성 가능2. 특정 필드의 정보만 변경하고 싶은데, 한번 클릭하면 마지막 필드까지 내려갈때까지 키보드를 내릴 수 없음. 위 두가지 사항을 피드백 받았다.수정해야할 부분이다. 닉네임 중복검증 및 공백, 특수문자 검증에만 신경 쓴 나머지 다른 부분들을 체크하지 못했다.키보드도 마찬가지. 텍스트필드간의 이동 및 작성 완료시 키보드가 내려가는것에만 집중한 나머지 한가지 필드만 수정할지도 모르는 케이스를 간과하고 말았다. 수정해보자.  먼저 텍스트필드에 예외처리를 해보자 다른 파일에서도 코드를 재사용할 수 있도록, 별도의 파일로 분리를 해두었다.import UIKit// MARK: - 공백, 줄바꿈으로만 입력되었는지 체크func ..

[Ting / 유저피드백] 키보드 관련 UX 개선 (returnKeyType 설정으로 다음 TextField로 이동)
개발일지2025. 2. 18. 01:10[Ting / 유저피드백] 키보드 관련 UX 개선 (returnKeyType 설정으로 다음 TextField로 이동)

키보드 관련 UX를 개선하였다.위의 스크린 캡처와 같이, 텍스트 필드를 많이 사용하는 두개의 뷰가 있다.첫 회원가입시에 회원정보를 추가하는 뷰, 그리고 회원정보를 수정하는 뷰.이 부분에서 유저피드백을 받아서 키보드 관련 UX를 개선하였다. 개선전키보드의 Return키는 Done(완료). 값을 입력하고 Return키를 누르면, 키보드가 내려가고 다음 텍스트 필드를 직접 클릭해서 키보드를 또 띄워야한다.FirstResponder 설정이 안되어있기 때문에, 텍스트필드를 직접 선택해야함.  개선 후FisrtResponder를 첫번째 텍스트필드로 지정해서 자동으로 키보드가 뜬다.마지막 텍스트필드는 Done(완료). 따라서 키보드가 내려간다.이외에는 다음(Next), 다음 텍스트필드로 자동으로 넘어간다.  코드Cu..

[Ting] TextField 공백, 특수문자 검사 로직 구현
개발일지2025. 2. 12. 23:23[Ting] TextField 공백, 특수문자 검사 로직 구현

닉네임 같은 값은 중복되지 않고, 유효한 Unique값으로 구현되는 것이 중요하다.Unique값으로 갈지, 태그를 붙여서 중복 닉네임을 허용할지는 각자 선택할 문제지만, Ting에서는 Unique값으로 결정.또한 닉네임간의 공백, 특수문자 사용을 허가하지 않기로 결정했기 때문에,해당 항목들에 대한 검사 로직이 필요하다.  중복검사 로직 구현 글 [Ting / 트러블슈팅] 회원정보 수정 시 닉네임 변경을 강제하는 현상 수정개요마이페이지에서 회원정보 수정하러 들어가서 저장하기 버튼을 누르면, 회원정보 수정을 강제하는 문제가 생겼다.우리는 닉네임을 유니크 값으로 유지하기로 결정했기 때문에, 중복 닉네임quaker.tistory.com  따라서 오늘은 TextField에서 공백 및 특수문자를 검사하는 로직을 구..

2025
개발일지2025. 2. 12. 14:552025

[Ting / 트러블슈팅] 회원정보 수정 시 닉네임 변경을 강제하는 현상 수정
개발일지2025. 2. 11. 23:40[Ting / 트러블슈팅] 회원정보 수정 시 닉네임 변경을 강제하는 현상 수정

개요마이페이지에서 회원정보 수정하러 들어가서 저장하기 버튼을 누르면, 닉네임 수정을 강제하는 문제가 생겼다.우리는 닉네임을 유니크 값으로 유지하기로 결정했기 때문에, 중복 닉네임을 허용하지 않는다. 코드를 보자. Firebase를 사용하기 위한 API Serviceclass UserInfoService { static let shared = UserInfoService() private let db = Firestore.firestore() private init() {} // MARK: 중복 닉네임 확인 로직 func checkNicknameDuplicate(nickname: String, completion: @escaping (Bool) -> Void) { ..

개발일지2025. 2. 4. 23:452025.02.04

[Xcode] git pull 이후 패키지 오류
에러노트2025. 1. 25. 19:14[Xcode] git pull 이후 패키지 오류

개요팀프로젝트 도중, PR 작성 후, 승인을 거쳐, merge까지 완료됨.그리고 Pull을 진행하였는데, 일부 팀원들에게서 패키지 쪽에서 두가지 문제가 발생됨 문제오류 1 클릭해보면, 이런식으로 오류가 나타남.  오류 2정상적으로 풀을 받았음에도 이번에는 패키지가 정상적으로 설치되지 않음.예를 들어서, 원격 브랜치에는SnapKitThenAlamofire 등의 3개의 브랜치가 있다고 가정했을때, SnapKit만 받아지고 다른 것들은 설치가 되지 않는, 패키지 목록에 아예 뜨지 않는 현상 발생다시 Pull을 진행해도 마찬가지.  해결 상단바에서,File -> Packages -> Reset Package Caches 이때 대부분의 문제는 해결됨.이래도 해결되지 않았다면,  Resolve Package Ver..

[Ting] UISearchBar, Custom Navigation Bar 구현
개발일지2025. 1. 23. 00:59[Ting] UISearchBar, Custom Navigation Bar 구현

Project Ting작업내용SearchBar 구현 (클릭시 뷰 이동)Custom Navigation Bar 구현SearchBar 구현SearchBar UI 구현 let searchBar = UISearchBar().then { $0.placeholder = "검색" $0.searchBarStyle = .minimal $0.backgroundImage = UIImage() } override func viewDidLoad() { super.viewDidLoad() navigationBar() configureUI() searchBar.delegate = self // 서치바 del..

image