반응형

전체 글 139

코틀린 완벽 가이드 리뷰

1. 이 책을 고른 이유 내가 아무리 머신러닝&딥러닝에 관심이 많다고 해서 웹&앱을 완전히 무시하고 IT업계에서 살아남기는 힘들다. 이 세상의 모든 정보는 인터넷으로 흘러들어 인터넷에서 빠져나간다고 해도 과언이 아니다. 머신러닝으로 얻은 결과를 공개해야 하는데, 논문으로 세상에 공개할 수도 있지만 인터넷으로 공개하는 것이 훨씬 더 많은 사람들에게 알릴 수 있지 않을까? 이런 이유 말고도 수많은 이유로 아무리 자신이 웹을 업으로 삼지 않는다고 해도 웹을 어느 정도는 알아야 한다고 생각한다. 웹&앱을 다루기 위해서는 수많은 내용을 공부해야 하는데, 나는 솔직히 웹과 앱을 나누는 기준은 그냥 다루는 프로그래밍 언어의 차이라고 생각한다. 언어만 다르고 두 분야의 본질은 결국 같다고 생각한다. 그 중에서 웹같은 ..

IT서적 2022.04.09

AtCoder Beginner Contest 219 A부터 D까지 업솔빙

AtCoder Beginner Contest 219 A부터 D까지 업솔빙 Dynamic Programming 너무 싫다. 문제해설을 보고나서 이해가 된다고 생각해 돌아서면 다시 까먹는다. 이번 대회 셋도 결국 Knapsack-problem이었는데, 쫄아서 못풀었다. 너무 화나났다. 이것도 인내해야하니... 이번 대회에서 얻어간 것은 문자열 대소 비교 함수 만들기 Knapsack문제 제발 이해하고 문제 풀어보기. 문제 옆에 붙어있는 난이도는 Atcoder Problems 에서 추정한 것으로 작성했다는 것을 미리 알린다. A - AtCoder Quiz 2 (*6) 접기/펼치기 문제 설명 Atcoder 왕국에는 프로그래밍 능력을 측정하기 위한 검사가 진행중이다. 참여자는 최대 $100$점까지 얻을 수 있고, ..

Codeforces Round #762 (Div. 3) A부터 C까지 업솔빙

Codeforces Round #762 (Div. 3) A부터 C까지 업솔빙 나는 개똥벌래~ 코딩을 못하네 알고리즘 못하네~ *1200도 못푸네 A. Square String? (*800) 접기/펼치기 문제 설명 어떤 문자열이 한줄에 두번 연속으로 써있으면 그 문자열을 square 이라고 한다. 문자열 $s$가 주어질때 그 문자열이 square인지 확인하라. 문제 해설 문자열이 2번 연속으로 써있는 것을 확인하기 위해서는 처음부터 문자열의 절반까지 부분 문자열이 절반부터 맨 끝까지 부분 문자열과 같아야 한다. substr() 함수를 쓰면 가볍게 해결 정답 코드 #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin...

AtCoder Beginner Contest 218 A부터 E까지 업솔빙

AtCoder Beginner Contest 218 A부터 E까지 업솔빙 AtCoder가 코드포스보다 높은 레이팅으로 쳐주는 이유를 이 대회를 풀면서 나왔다. 분명 800가량 퍼포먼스가 나와서 현재 레이팅이 600인 상황이었기에 조금이나마 오를거라고 생각했는데, -7점을 받았다. 도대체 무슨 기준일까? 이번 대회에서는 D번 문제에서 시간을 많이 써서 E번 문제를 풀다가 포기했다. E번 문제는 딱보면 무슨 알고리즘인줄 알았지만 그것을 응용하는 문제를 여기서 처음 만나서 그런지 헤맸다. 그리고 C번 문제는 일단 영어를 이해 못했고, 두번째로 솔직히 접근 방법조차 이해가 안됐다. 이번 대회에서 배운 것은 크루스칼 알고리즘 구현 복습 & 응용 문제 풀기 행렬의 전치 알고리즘으로 구현하기 도형의 평행이동 함수로 ..

Codeforces Round #760 A부터 D까지 업솔빙

Codeforces Round #760 A부터 D까지 업솔빙 알고리즘 놓은지 1달이 되서 다시 잡은 코드포스이다. 내가 코드포스에서 나오는 문제 유형을 잘 못하는걸로 결론을 내렸다. 하지만 내가 잘 못하는 것을 계속 손 놓고 있으면 그 분야는 계속 못하게 된다. 잘 몰라도 계속 붙잡는것이 필요한 순간. 언젠간 성장하겠지. A. Polycarp and Sums of Subsequences (*800) 접기/펼치기 문제 설명 3개 양의 정수로 이루어진 배열 $a$가 주어진다. 이 배열로 만들 수 있는 모든 비어있지 않은 subsequence들의 원소의 총 합을 다른 배열에 적는다. 그리고 이 배열을 오름차순으로 정렬한다. 그러면 $7$개의 원소로 이루어진 배열 $b$가 만들어진다. 배열 $b$가 주어졌을 때..

AtCoder Beginner Contest 217 A부터 E까지 업솔빙

AtCoder Beginner Contest 217 A부터 E까지 업솔빙 AtCoder 최고 퍼포먼스가 나왔다. 아직도 기억나는 퍼포 1183점이고, 이 점수를 환산하면 코드포스 블루 레이팅에 해당하는 1606이다!!. 이런 가끔식 이상치들이 생겨날때 마다 내가 PS를 접지 못하는 이유가 되는 것 같아서 좋아해야할지 말아야할지 모르겠지만 그래도 뭐 어떤가? 인생 목표인 코드포스 rating 블루 or atcoder 1200이상인 목표에 더욱 가까워졌으니 지금을 즐기고 싶다. 참고로 E번까지 전부 출제자 의도에 맞게 풀어서 더욱 기분이 좋다. 이번 대회에서 배운 것은 자료구조 유형 익숙해지기 c++의 iterator와 관련된 유용한 함수 prev, next 문제 옆에 붙어있는 난이도는 Atcoder Pro..

Codeforces Round #756 A부터 C까지 업솔빙

Codeforces Round #756 A부터 C까지 업솔빙 알고리즘 놓은지 1달이 되서 다시 잡은 코드포스이다. 내가 코드포스에서 나오는 문제 유형을 잘 못하는걸로 결론을 내렸다. 하지만 내가 잘 못하는 것을 계속 손 놓고 있으면 그 분야는 계속 못하게 된다. 잘 몰라도 계속 붙잡는것이 필요한 순간. 언젠간 성장하겠지. A. Make Even (*800) 접기/펼치기 문제 설명 창록이에게 $0$이 없는 정수 $n$이 주어진다. 다음 연산을 몇번이고 수행할 수 있다. 왼쪽부터 길이 $l$만큼 $n$의 부분 문자열을 선택한다. 그리고 이 부분 문자열을 뒤집은 다음 원래 자리에 둔다. 창록이는 짝수를 좋아한다. 따라서 이 숫자를 짝수로 만들고 싶다. 그리고 그는 참을성이 별로 없기 때문에 가능한 적은 연산으..

Vanilla JS Toy 프로젝트 - 2. Movie Seat Booking (javascript편)

여기에 올라온 모든 프로젝트와 소스코드는 here 여기서 확인할 수 있다. vanilla javascript Toy project 2. Movie Seat Booking 이번 프로젝트에서는 ES6에서 새로 지원하는 문법을 다수 사용했다. 생각보다 함수는 적은데, 함수의 내용이 알차서 그런지 공부가 엄청 되었다. 이번 글에서 소개할 내용은 다음과 같다. javascript의 localstorage 프로젝트에서 사용되는 모든 함수 설명 자바스크립트 파일의 로직 설명 0. DOM Element 가져오기 이 프로그램에서 자바스크립트로 해야하는 기능을 요약하자면 총 4가지이다. 영화를 선택할때 값 localstorage에 저장하기 선택한 좌석의 개수를 좌석의 변화에 따라 계속 갱신하기 선택한 좌석의 개수와 선택한..

VanillaJS 2022.03.01

Vanilla JS Toy 프로젝트 - 2. Movie Seat Booking - CSS편(2)

여기에 올라온 모든 프로젝트와 소스코드는 here 여기서 확인할 수 있다. vanilla javascript Toy project 2. Movie Seat Booking 웹 페이지 만들때 생각보다 js보다 css부분이 내용이 엄청 많다. 순전히 디자인적 요소만 들어가있어서 그런지 특히 속성 부분을 설명하는데 모든 시간을 쏟는거 같다. 그래서 이번 포스트는 css 2번째 부분이다. 4. showcase class 설정 showcase부분은 3가지 좌석 유형을 설명하는 부분이다. 이 부분을 우리는 li태그를 사용했는데, 이 못생긴 li태그를 어떻게 깔끔하게 만들 수 있는지 확인해보자. 일단 이 부분의 배경색과 글자 색이 각각 검은색, 회색이기 때문에 이것을 기본적으로 설정하고, padding을 적절히 설정해..

VanillaJS 2022.03.01

AtCoder Beginner Contest 216 A부터 E까지 업솔빙

AtCoder Beginner Contest 216 A부터 E까지 업솔빙 생각보다 C번에서 헤맸는데, 이 문제를 조금 더 빨리 풀었다면 더 높은 등수가 나왔을걸이라는 생각이 계속 난다. D번하고 E번은 문제를 보고 깔끔히 포기했다. E번은 솔직히 조금 냄새가 나긴 했는데, 이분탐색이라는 것은 전혀 생각 못했다. 도대체 어떤 문제를 이분 탐색으로 풀어야 하는거야? 이분탐색이라는 것을 알아도, 숫자가 조금만 달라도 값이 완전히 달라지기 때문에 이것도 어렵다. D번은 그냥 큐 시물레이션 문제였는데, 생각보다 메모리 제한이 널널해서 내가 생각한대로 그대로 풀었으면 손쉽게 풀었을 것 같다는 느낌이 들었다. 메모리제한 신경 안쓰고 일단 풀어볼걸 이라는 생각을 했다. 이번 대회에서 유난히 lambda를 자주 사용하는..

반응형