Computer Science
탄탄한 기반 실력을 위한
전공과 이론 지식 모음
Today I Learned!
배웠으면 기록을 해야지
TIL 사진
Flutter 사진
Flutter로 모바일까지
거꾸로캠퍼스 코딩랩 Flutter 앱개발 강사
스파르타코딩클럽 즉문즉답 튜터
카카오테크캠퍼스 3기 학습코치
프로필 사진
박성민
임베디드 세계에
발을 들인 박치기 공룡
임베디드 사진
EMBEDDED SYSTEM
임베디드 SW와 HW, 이론부터 실전까지
ALGORITHM
알고리즘 해결 전략 기록
🎓
중앙대학교 소프트웨어학부
텔레칩스 차량용 임베디드 스쿨 3기
애플 개발자 아카데미 1기
깃허브 사진
GitHub
프로젝트 모아보기
Instagram
인스타그램 사진

Develop 249

[백준] 1072 - 게임

문제 링크https://www.acmicpc.net/problem/1072문제김형택은 지금 몰래 Spider Solitaire(스파이더 카드놀이)를 하고 있다. 형택이는 이 게임을 이길 때도 있었지만, 질 때도 있었다. 누군가의 시선이 느껴진 형택이는 게임을 중단하고 코딩을 하기 시작했다. 의심을 피했다고 생각한 형택이는 다시 게임을 켰다. 그 때 형택이는 잠시 코딩을 하는 사이에 자신의 게임 실력이 눈에 띄게 향상된 것을 알았다.이제 형택이는 앞으로의 모든 게임에서 지지 않는다. 하지만, 형택이는 게임 기록을 삭제 할 수 없기 때문에, 자신의 못하던 예전 기록이 현재 자신의 엄청난 실력을 증명하지 못한다고 생각했다.게임 기록은 다음과 같이 생겼다.게임 횟수 : X이긴 게임 : Y (Z%)Z는 형택이의 ..

[백준] 12015 - 가장 긴 증가하는 부분 수열 2

문제 링크 https://www.acmicpc.net/problem/12015 문제 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다. 입력 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000,000) 출력 첫째 줄에 수열 A의 가장 긴 증가하는 부분 수열의 길이를 출력한다. 조건 시간 제한 : 1s 메모리 제한 : 512MB 해설 증가하는 부분 순열 문제(LDS)를 푸는 알고리즘..

[백준] 4344번, C# Write( ), WriteLine( ) 메서드에서 format 지정해주기

Write( ), WriteLine( ) 메서드에서 format 지정해주기 printf("%d + %d = %d\n", a, b, sum); // a + b = sum 을 출력 C언어에서는 printf 라는 함수에서 출력하려는 값의 format을 지정해준 뒤 문자열 “” 밖에서 파라미터 형식으로 값을 전달해줄 수 있었다. 그래서 함수의 이름도 print+format 인 printf이었다. 사실 C#에서는 + 를 통해 문자열을 쉽게 합쳐서 출력할 수 있었다보니 이런 format 지정을 이용하지 않았다. (굉장한 낭비이긴 하지만, 단순히 백준 문제를 푸는 데 있어서는 크게 영향이 없더라고) 그런데 이 Format 지정을 써줘야하는 문제를 만났다. 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여..

[백준] 15552번, String과 StringBuilder

백준 15552번 문제 : 빠른 A + B 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 입력 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. 출력 각 테스트케이스마다 A+B를 한 줄에 하나씩 순서대로 출력한다. 문제는 그렇게 어렵지 않다. 그러나 이 문제를 가져와 글을 쓰는 이유는 이런 조건이 달려있어서 이다. “입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다. 입출력을 더 ..

C#으로 알고리즘 시작

요즘 금융, 투자와 관련된 여러 책을 읽으면서 인생에 대한 계획을 세워보니 생각보다 학생으로 있는 시간동안이, 군대에 와있는 지금을 포함하더라도 컴퓨터에 관련된 전문적인 지식을 쌓아 능력있는 사람이 되기에는 부족한 시간이라고 느꼈다. 그래서 꾸준히 해오던 라틴어 공부는 잠시 접어두고, 다시 컴퓨터에 대해서 공부하기로 마음먹었다! 물색을 해보니 깃허브에 괜찮은 전공책들이 업로드가 되어있어서 이런걸 읽으면서 컴퓨터구조, 운영체제, 컴파일러 같은 주요 내용들을 익히고, 알고리즘에 대한 공부도 필요하겠다고 생각했다. C#이라는 마음에 드는 언어도 공부할 겸 알고리즘이랑 문제풀이도 꾸준히 해볼까 한다. 깃허브에 커밋도 올리고 밤에 독서실에서 공부도 하면서 성실하게 살아야지. 부디 1년뒤 전역할 때는 발전된 모습이..

[iOS 앱 개발 - Swift] 스크롤뷰 ScrollView

이번에 공부한 내용은, 스크롤뷰에 대한 내용입니다. 요건 ImagePicker 같은 곳에서 이미지를 Crop 할 때 자주 사용될 법한 기능이라고 생각이 되네요! 이번 강의의 챕터에서는 사진 앨범 앱을 만드는데, 이런 공부를 통해 이미지를 확대하는 기능을 추가하는 방법에 대한 공부를 할 수 있을 거라 생각이 됩니다! 혹시 강의에 관심이 있으신 분이라면, 아래 링크를 눌러주세요. 모든 강의와 강의자료가 높은 수준임에도 무료로 개방되어 있고, 네이버 아이디로도 이용할 수 있을 만큼 진입장벽이 낮은게 장점이라고 생각됩니다. 매 챕터마다 프로젝트로 작은 앱을 만들며 공부를 할 수 있기 때문에, 결과물을 내면서 공부하는데 성취감도 느낄 수 있어서 개인적으로 되게 좋은 것 같아요! https://www.edwith...

Develop/iOS 개발 2019.09.03

[ iOS 앱 개발 - Swift] 비동기 프로그래밍과 OperationQueue

[ iOS 앱 개발 - Swift] 비동기 프로그래밍과 OperationQueue 이번에는 비동기 프로그래밍에 대해 공부를 해봤습니다! 느낀 바를 토대로 간단히 요약하자면, "여러명이 병렬적으로 일하게 만들기" 라고 할 수 있을 것 같네용. 작업 큐에 넣어 다른 스레드에서 작업을 수행시키고, 필요하면 또 메인 스레드를 호출해서 작업을 수행시키고, 이런 방식으로 진행하는게 비동키 프로그래밍이라고 생각됩니다. 개념 이해하기 프로세스 Process 하나의 프로그램이 메모리에서 실행되는 작업단위를 말합니다. 단순하게 작업이라고 말해도 상관없을 것 같네요. 스레드 Thread 스레드는 프로세스의 작업흐름의 단위를 말해요. 한 프로세스가 여러 스레드를 사용해 작업을 병렬적으로 수행할 수도 있습니다. 비동기 프로그래..

Develop/iOS 개발 2019.08.29

[iOS 앱 개발 - Swift] 앱 내에서 앨범 사진 삭제하기

[iOS 앱 개발 - Swift] 앱 내에서 앨범 사진 삭제하기 이전 포스팅에서 올렸던, 사진을 앨범에서 읽어와 테이블뷰의 셀에 올린 프로젝트에서 이어서 작성하고자 합니다! > https://etst.tistory.com/111 < 바로 요것! PHPhotoLibraryChangeObserver 프로토콜 추가하기 사진 라이브러리가 변경된 경우 이를 읽고 변경사항을 알려주거나, 라이브러리를 변경하고자 할 때 사용해줄 수 있는 프로토콜입니다. 이를 채택하고 준수하여 사진첩 편집에 이용하면 됩니다. 밀어서 삭제하기 먼저, 셀을 삭제하는 기능을 만들어봅시다. 이런 기능은 애플에서 잘 만들어서 제공을 하기때문에, 우리가 할 일은 감사합니다! 하고 받아서 쓰면 돼요. ㅋㅋㅋㅋ 그러려면 공식문서를 잘 읽고 필요한 기..

Develop/iOS 개발 2019.08.26

[iOS 앱 개발 - Swift] Photos Framework 사용하기

[iOS 앱 개발 - Swift] Photos Framework 사용하기 이 글은 edwith의 부스트코스 iOS 프로그래밍이라는 강좌를 들으며 혼자 공부한 내용을 글로 정리하며 작성한 포스팅입니다. 이번 강의는 챕터 4의 첫 번째 강의입니다. 갈수록 살짝씩 어려워지는 느낌이 들긴하지만 ㅋㅋㅋ 입문용 강의로는 그래도 정말 괜찮은 것 같아요. 어제 교보문고에 들러서 Swift 책을 하나 구입해서 옆에 두고 헷갈리는 내용을 참고하려고 몇개 살펴봤는데, Swift 교과서! 이런 느낌의 책을 펼쳤는데 거의 다 아는 내용이라 그냥 덮었거든요. 그만큼 이 강의가 괜찮은 것 같아요! 강의 전체랑 강의자료도 공짜로 제공되는데 네이버 아이디로도 수강할 수 있을만큼 접근성이 좋아서 프로그래밍을 기본적으로 할 줄 아시는 분..

Develop/iOS 개발 2019.08.25