본문 바로가기

전체 글86

[백준 알고리즘/Python] 백준 14503번 로봇 청소기, 파이썬 설명 1. 문제 출처 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 2. 생각정리 - 현재방향을 기준으로 다음 방향을 반환해주는 함수 작성하기 - 현재방향 기준으로 뒤쪽 위치를 반환해주는 함수 작성하기 - 나머지는 그냥 하라는대로 하면 될 듯 함 3. 조각코드 현재방향 기준으로 다음 방향 반환해주는 함수 dx = [-1,0,1,0] dy = [0,1,0,-1] def rotate(cd): nd = 0 if cd == 0: # d가 북이면 nd는 .. 2022. 3. 27.
[백준 알고리즘/Python] 백준 15686번 치킨 배달, 파이썬 설명 1. 문제 출처 https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 2. 생각정리 - 최대 m개를 어떻게 살릴지 구하는 조합이 필요함 - 거리를 체크하는 함수를 따로 빼놓기 - 나머지는 반복문으로 체크하면 될 듯 3. 조각코드 #거리 체크 def cal_bbq(hx,hy, bx,by): return abs(hx-bx) + abs(hy-by) # m개 구하는 조합 from itertools import combinations g.. 2022. 3. 27.
[백준 알고리즘/Python] 백준 112100번 2048 (Easy), 파이썬 설명 1. 문제 출처 https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 2. 생각 정리 - 오른쪽, 왼쪽, 위쪽, 아래쪽 이동을 전부 다 구현하기는 너무 복잡함. - 따라서, 행렬을 회전시켜서 하나의 이동(왼쪽)으로만 구현할 것임. - 최대 5번 이동은 중복 순열을 사용하면 될 듯 함. 3. 조각 코드 - 행렬을 시계, 반시계 방향으로 회전하는 코드. 기억해두면 유용하게 쓰일 때가 많음 # 행렬 시계방향 90도 회전 def.. 2022. 3. 23.
React로 소셜 로그인 구축하기 카카오편 서론 요즘엔 없어서는 안되는 소셜 로그인! 프로젝트를 진행하다가 소셜 로그인을 만들어야 할 일이 생겼다. 나중에 또 써먹을 일이 있을것 같아서 자세하게 기록하려고 한다. 카카오 로그인 먼저 (kakao developers)[https://developers.kakao.com/]로 들어가서 가입을 진행해주자. 이후 로그인을 한 뒤, 내 애플리케이션 탭을 클릭한다. 바로 보이는 애플리케이션 추가하기 버튼을 누르고, 앱 이름과 사업자명을 작성해준다. 그러고 나서 생성된 탭으로 들어가면 API 키들이 있을텐데, 자신한테 맞는 키를 사용하면 된다. 지금 프로젝트로 진행중인 웹 서비스에 적용할 예정이라 REST API키가 필요하다. 이후에 바로 아래에 보이는 플랫폼 탭으로 들어가서 플랫폼 설정하기를 눌러준다 Web.. 2022. 2. 7.
프로그래머스 :: N-Queen, Javascript 😺 풀어 볼 문제 프로그래머스 :: N-Queen 코딩테스트 준비하면서 세 번 정도 풀었던거 같은데, 왜 매번 풀 때마다 새로운지 모르겠다. 아는게 아니라 익숙했기 때문에 그런거 같다. 이번 기회에 확실하게 알기위해 정리 해 놓으려고 한다. 간단한 풀이 설명 대표적인 백트래킹 문제이다. 재귀를 통해서, 조건에 맞으면 퀸을 놓고 조건에 맞지 않으면 다음 것으로 탐색을 진행하면 된다. 말은 쉽다 조금 더 자세히 설명하자면, 퀸은 가로, 세로, 대각선 방향으로 움직일 수 있다. 그러니까, 어차피 가로에는 하나 밖에 놓을 수 없으니, 놓을 수 있는 자리면 놓고, 다음 row로 이동해서 놓을 위치를 탐색하는것이 목표이다. 아래 그림처럼, 첫째 줄에 두번째 칸에 놓은 경우 빨간색으로 칠한곳은 다른 퀸을 놓을 수 없.. 2021. 11. 18.
프로그래머스 :: 멀쩡한 사각형, javascript 😺 풀어 볼 문제 멀쩡한 사각형 간단한 풀이 설명 생각하기가 쉽지 않았던 문제이다. 어떤 규칙을 찾아서 공식을 구해야 하는 문제인데 나도 힌트를 얻기까지 혼자서 풀 지 못하였다. 최소공약수의 개념이 들어간다. 잘리는 정사각형을 자세히 살펴보면, 가로/최소공약수 세로/최소공약수의 패턴이 최소공약수만큼 반복되는것을 확인 할 수 있다. 그림으로 좀 더 이해하기 쉽게 살펴보자 예제는 12X8의 크기를 가지고 있기 때문에, 그림과 같이 3X2의 패턴들이 최소공약수인 4번만큼 반복된다. 나눠진 직사각형을 자세히 보면, 가로줄 12/4번, 세로줄 8/2번 총 5번을 통과해 다음 패턴으로 넘어간다.(겹치는 부분 포함) 따라서, 겹치는 부분을 제외한 3 + 2 - 1의 정사각형을 지나서 다음 패턴으로 넘어가게 되는데, .. 2021. 11. 16.
2. 퀴즈 사이트 본 포스팅은 Florin Pop 유튜브 채널을 보고 학습한 내용을 바탕으로 작성되었습니다. 😺 만들고자 하는 것 위 사진처럼, 퀴즈를 불러오고 정답을 맞출 수 있는 시스템을 만들어 보려고 한다. 물론, 퀴즈를 불러오는 API는 구현되어 있지 않으므로 하드코딩으로 진행할 것이다. 😺 HTML 분석 먼저, 화면 가운데에 위치해 있는 가장 큰 div가 있고, 안에서 두 부분으로 나누어진다. 첫번째는, 문제와 답안을 랜더링하는 div가 이다. 이 부분에서 문제와 답안으로 다시 나누어 진다. 문제는 h2를, 답안은 ul> li를 사용하고 li 내부에서 input과 label을 합쳐 단 하나의 정답만 클릭 할 수 있도록 구현할 것이다. 두번째는, 답안을 클릭하고 제출하는 button이다. 😺 HTML 코드 작성 Q.. 2021. 11. 8.
1. 새해 카운트다운 웹 본 포스팅은 Florin Pop 유튜브 채널을 보고 학습한 내용을 바탕으로 작성되었습니다. 😺 만들고자 하는 것 첫번째 챌린지는 새해까지 얼마나 남았는지를 알려주는 사이트이다. 😺 HTML 분석 먼저 큰 제목에 해당하는 "New Years Eve"에 div가 하나 들어 갈 것이고, 그 밑으로 days, hours, mins, seconds가 들어갈 큰 div 안에 4개의 div가 만들어져야 한다. 😺 HTML 코드 작성 먼저, html 뼈대 코드를 만들어 준 후, script.js, style.css파일을 연결해 준다. 이후, 분석한 결과에 따라서 HTML코드 먼저 생성해 보도록 하자. New Years Eve 0 days 0 hours 0 mins 0 seconds 😺 HTML 코드 작성한 결과 😺 C.. 2021. 11. 2.
4. Linear Regression with multiple variables (3) Normal equation 우리는 지금껏 Cost Function이 최소가 되는 theta를 찾으려고, Gradient descent를 사용하여 적당한 Theta를 Iteration으로 찾아내었다. 오늘 알아볼 Noraml equation은 경사 하강법을 사용하지 않고, 한번의 연산으로 Theta를 찾아내는 방법이다. 어떻게 이게 가능할까? 오늘 알아볼 Normal equation을 통해 가능하다. [Normal Equation] 먼저 Feature가 하나인 경우를 살펴보자. Cost function은 2차방정식의 형태가 될 것이다. ( 가설함수가 1차이기 때문) 따라서 그냥 손으로, J(theta)의 값의 미분한 결과가 0이 되도록 풀면 풀린다. 여러개의 Feature를 사용해도 똑같은 방식으로 풀 수 있다. feature가 여.. 2021. 10. 18.
3. Linear Regression multiple variable (2) - gradient descent 1. Feature Scaling 다수의 feature가 있을때에 Linear Regression이 어떻게 적용되는지 지난 포스팅에서 다뤘다. 여기서는 Gradient descent를 어떻게 잘 활용할 수 있을지 알아 볼 것이다. Feature scaling이란 먼저, 각각의 피쳐들을 비슷한 스케일로 변형시키는 것이다. 이것이 왜 필요한 지 직관적으로 그래프로 살펴보도록 하자. 왼쪽의 그래프는 Feature Scaling 전이고 오른쪽은 후이다. 왼쪽은 피쳐들의 크기가 차이가 많이 나서 Gradient descent를 하는 cost function의 그래프가 타원형으로 찌그러져서 만들어지게 된다. 즉, 오른쪽 그래프 보다 더 많은 Gradient descent를 해야만 Global optima를 찾을 수.. 2021. 10. 17.