전체 글

또렷한 기억보다 희미한 연필자국이 낫다
PS (Problem Solving)/Programmers

[프로그래머스] 숫자의 표현

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12924?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 숫자의 절반 또는 +1 까지 for문 - 합이 목표보다 커지면 false, 딱 떨어지면 cnt + 1 import math def solution(n): # 예외 처리 if n == 1: return 1 cnt = 0 half = math.ceil(n/2) for i in range(1, half+1): sumV = 0 for j in range(i, ..

PS (Problem Solving)/Programmers

[프로그래머스] 올바른 괄호 - 자바스크립트, 파이썬

문제https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 자바스트립트function solution(s){ let answer = 0; for (const bracket of s) { if (bracket === "(") { answer += 1 } else { answer -= 1 } // 닫는 문자가 더 많을 경우 false 반환 if (..

PS (Problem Solving)/Programmers

[프로그래머스] 이진 변환 반복하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 내장함수를 사용하지 않고 직접 2진수를 구현했다. import math def cal(n): global zero, cnt data = list(n) arr = [] # 0이 제거된 배열 # 0 제거 for i in data: if i != '0': arr.append(i) else: zero += 1 if arr == ['1']: return '1' # 숫자 변환 new_arr =..

PS (Problem Solving)/Programmers

[프로그래머스] 최솟값 만들기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 처음엔 든 생각은 재귀 또는 2중 for문이었으나 설계가 잘 되지 않았다. - 결국 A는 sort, B는 reverse sort 하는 방법을 사용했다. def solution(A, B): A.sort() B.sort(reverse=1) answer = 0 for i in range(len(A)): answer += A[i] * B[i] return answer

PS (Problem Solving)/Programmers

[프로그래머스] JadenCase 문자열 만들기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 파싱 def solution(s): low_s = s.lower() answer = "" answer += low_s[0].upper() # 첫글자는 무조건 대문자 for i in range(1, len(low_s)): if low_s[i-1] == " ": answer += low_s[i].upper() else: answer += low_s[i] return answer

PS (Problem Solving)/Programmers

[프로그래머스] 최댓값과 최솟값

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12939?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 파싱 def solution(s): arr = [] number = "" for i in range(len(s)): if s[i] != " ": number += s[i] else: arr.append(int(number)) number = "" # 마지막 남은 숫자를 추가해준다. arr.append(int(number)) answer = str(min..

React

[React] React Slick을 활용하여 캐러셀(Carousel) 만들기

Material UI의 캐러셀을 활용하려다가 React Slick을 많이 사용하는거 같아 사용해보았다. 설치 사용하기에 앞서 공식 사이트를 참고하여 설치를 한다. https://react-slick.neostack.com/docs/get-started Neostack The last react carousel you will ever need react-slick.neostack.com npm install react-slick --save 기본 틀 여러가지 종류의 스타일이 있는데 Multiple items 라는 이름의 스타일을 사용했다. https://react-slick.neostack.com/docs/example/multiple-items/ Neostack The last react carouse..

React

[React] 카드 컴포넌트 검색기능 구현

Test 용도로 임시로 만들었기 때문에 완성되지 않았다. 커서가 있는 input 창에 검색어를 입력하면 카드의 본문의 내용중에 해당 키워드를 포함한 카드만 필터링해준다. (엔터나 버튼을 누를 필요 없이, 키워드의 변화(onChange)를 감지하여 즉각 필터링해준다) // Search.tsx import React, { useState, useEffect } from "react"; import Poster from "./Poster"; import "./Search.scss"; function Search() { const [userInput, setUserInput] = useState(""); // 입력값을 가져와서 소문자로변경 및 통일한다. const getValue = (e: any) => { s..

PS (Problem Solving)/Programmers

[프로그래머스] k진수에서 소수 개수 구하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 소수판별시 시간초과 방지를 위해 루트를 활용하는 방법을 사용했다. Math.sqrt(num)를 이용하여 소수판별 활용 // 소수 판별 함수 function isPrime(num) { if (num === 2) { return true; } for (let i = 2; i = k) { number.push(n % k); n = parseInt(n / k); } // 나머지가 0보다 크..

React

[React] 무한스크롤(Infinite Scroll) 구현하기

무한스크롤 구현하기 - test UI - 더미 데이터는 https://jsonplaceholder.typicode.com/comments에서 가져왔다. 포스터는 images폴더에 따로 넣어놓았다. Scroll // Scroll.tsx import React, { useEffect, useState } from "react"; import InfiniteScroll from "react-infinite-scroll-component"; import "./Scroll.scss"; import Poster from "./Poster"; import Loader from "./Loader"; import EndMessage from "./EndMessage"; function Scroll() { const [i..

캐럿노트
기록하는 블로그