알고리즘2023. 1. 11. 15:19Greedy

Greedy 현재 상황에서 지금 당장 좋은 것만 고르는 방법 대부분의 문제가 그리디 알고리즘을 이용했을 때 최적의 해를 찾을 수 없을 가능성이 다분하다. 탐욕적으로 문제에 접근했을 때 정확한 답을 찾을 수 잇따는 보장이 있을 때 매우 효과적이고 직관적이다. 어떤 코딩 테스트 문제를 만났을 때, 바로 문제 유형을 파악하기 어렵다면 그리디 알고리즘을 의심하고, 문제를 해결할 수 있는 탐욕적인 해결법이 존재하는지 고민해본다. 만약 오랜 시간을 고민해도 그리디 알고리즘으로 해결 방법을 찾을 수 없다면 DP나 그래프 알고리즘 등 다른 알고리즘을 고려해본다. 예제 3-1 거스름돈 문제 거스름돈으로 사용할 500원,100원,50원,10원짜리 동전이 무한히 존재한다고 가정함 손님에게 거슬러 줘야할 돈이 N원일 때 거슬..

Spring 시작하기 - 프로젝트 생성
Spring2023. 1. 10. 18:16Spring 시작하기 - 프로젝트 생성

작년부터 spring 공부를 시작하긴 했지만, 다른 활동때문에 제대로 공부를 못했다 그래서 처음부터 다시 시작하려고 한다 공부 계획은 인프런 spring 코스 강의를 들으면서 공부할 예정 ! 오늘은 비록 짧은 강의 2개밖에 못 봤지만 ! 시작이 반이니까 ~ 내일부터 더 열심히 공부해야겠다 :) 오늘 배운 것은 프로젝트 생성하는 방법이다. 1. 우선 java 11과 intellij가 설치 되어있어야 한다. 아래 사이트에서 java를 설치할 수 있는데 , 나는 m1이라서 m1에 맞게 java를 설치해줬다 ! https://www.azul.com/downloads/?version=java-11-lts&os=macos&architecture=arm-64-bit&package=jdk Downloads Accord..

개발일지2022. 11. 24. 09:502022.11.23

Today I Learned - 개발새발(iOS) 깃허브 토큰을 키체인에 저장하는 기능을 구현 class KeyChain { enum KeychainError : Error{ case duplicateEntry case unknown(OSStatus) } static func save( service : String, account : String, password : Data ) throws { let query : [String : AnyObject] = [ kSecClass as String : kSecClassGenericPassword, kSecAttrService as String : service as AnyObject, kSecAttrAccount as String : account as ..

프로젝트2022. 8. 10. 17:51[아람별] TabView의 PageTabViewStyle()

메뉴를 좌우로 스크롤해서 보여주고 싶었다. 처음엔 ScrollView를 horizontal 방향으로 변경해서 해봤는데, 스크롤하면 옆에 요소가 조금 보이는게 마음에 들지 않아서 TabView로 바꿔줬다. 우선 탭뷰를 보여줄 view에 TabView를 구현하는 것처럼 코드를 적는다. 그 다음 PageTabViewStyle()로 tabViewStyle 함수를 실행하면 아래와 같이 된다. (PageTabViewStyle은 TabView가 페이지 스크롤될 수 있게 합니다.) TabView{ breakfastView() lunchSwiftUIView() dinnerSwiftUIView() }.tabViewStyle(PageTabViewStyle()).frame(width: 350,height: 500)

[아람별] GroupBoxStyle
프로젝트2022. 8. 8. 23:21[아람별] GroupBoxStyle

오늘 아람별 프로젝트를 진행하면서 GroupBoxStyle를 처음 사용하게 되었다. GroupBox를 커스텀하려고 찾아보니 정보도 별로 없는 거 같아서,,, 시작하기 전부터 겁먹었는데 막상해보니 간단했다(?!) 우선 오늘 예시로 들 코드와 완성화면이다. struct CustomGroupBoxStyle : GroupBoxStyle{ var background: some View { RoundedRectangle(cornerRadius: 5) .stroke(Color.yellow,lineWidth: 2) } func makeBody(configuration: Configuration) -> some View { VStack{ configuration.label configuration.content } .p..

Swift 프로그래밍2022. 7. 26. 12:59[Swift Programming] 인스턴스 생성 및 소멸

1. 인스턴스 생성 이니셜라이저 : 인스턴스 생성시 초기화 반환 값이 없다. 기본 이니셜라이저 (매개변수 x) class ClassName{ var count : Int init(){ //초기화할 때 필요한 코드 입력 count = 0 } } struct StructName{ var count : Int init(){ //초기화할 때 필요한 코드 입력 count = 0 } } 이니셜라이저 (매개변수 0) class ClassName{ var count : Int init(check : Int){ //초기화할 때 필요한 코드 입력 count = check } } struct StructName{ var count : Int init(check : Int){ //초기화할 때 필요한 코드 입력 count = ..

Swift 프로그래밍2022. 7. 12. 06:16[Swift Programming] 프로퍼티와 메서드

프로퍼티 1. 정의 Property : 속성이라는 뜻으로 클래스 구조체 또는 열거형 등에 관련된 값을 뜻함 2. 프로퍼티 종류 저장 프로퍼티 (Stored Properties) 클래스 또는 구조체의 인스턴스와 연관된 값을 저장하는 가장 단순한 개념의 프로퍼티 class ClassName { // 클래스 이름 var propertyName : String = "" // 저장 프로퍼티 } struct Info{ var name : String // 저장 프로퍼티 } 연산 프로퍼티 (Computed Properties) 값을 연산하는 프로퍼티 접근자의 역할이나, 설정자의 역할을 할 수 있다. 접근자와 설정자란?설정자 : 은닉화된 내분의 프로퍼티 값을 간접적으로 설정함 이렇게 텍스트로 읽으면 이해가 잘 안되지만..

[Swift Programming]구조체와 클래스
Swift 프로그래밍2022. 7. 8. 17:34[Swift Programming]구조체와 클래스

구조체 1. 정의 struct 구조체이름 { (프로퍼티와 메서드) } //예시 struct Info{ var name : String var major : String } 2. 구조체 인스턴스 생성 및 초기화 & 프로퍼티 값 변경 var Student1 : Info = Info(name:"김가은",major:"컴퓨터과학과") print(Student1.name) //출력 : 김가은 print(Student1.major) // 출력 : 컴퓨터과학과 //프로퍼티 값 변경 , let으로 선언시 변경 불가 Student1.name = "Kim Ga eun" print(Student1.name) // 출력 : Kim Ga eun 클래스 스위트의 클래스는 부모클래스가 없더라도 상속 없이 단독으로 정의가 가능합니다...

image