All

Algorithm/Programmers

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

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 해당 문제의 제한 조건은 다음과 같다. s는 길이가 1 이상 200 이하인 문자열이다. s는 알파뱃과 숫자, 공백문자로 이루어져 있다. - 숫자는 단어의 첫 문자로만 나온다. - 숫자로만 이루어진 단어는 없다. - 공백문자가 연속해서 나올 수 있다. 일단 주어진 문장 s을 공백 기준으로 나눈 뒤, 각 단어를 순회하면서 해당 조건을 맞추는 형식으로 코드를 작성하였다. 해당 문자가 숫자인지..

Algorithm/Programmers

프로그래머스 LV2 튜플

문제 https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 처음에 튜플이 어떻게 만들어지는지 이해하기 힘들었는데 입출력 예제를 보고 반환값을 어떻게 만들어야 하는지 파악했다. 예를 들어서 다음과 같은 {{4,2,3}, {3}, {2,3,4,1}, {2,3}} 입력이 주어졌다면, 각 요소에 나오는 숫자의 빈도에 많은 것이 앞으로 적은 것이 뒤에 있는 요소의 튜플이 만들어진다. 해당 내용을 토대로 우리가 반환하고자 하는 튜플의 값을 나타내면 [3,..

Algorithm/Programmers

프로그래머스 LV2 영어 끝말잇기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 해당 문제는 끝말잇기 조건을 충족하지 못한 사람의 번호와 차례를 리스트 형태로 반환하는 문제이다. 문제에서 주어진 끝말잇기 조건과 제약은 다음과 같다. 2명 이상 끝말잇기를 시작할 것 같은 단어를 반복해선 안됨 현재 단어의 끝 알파벳과 다음 단어의 처음 알파벳이 서로 같아야 함 - 사람의 번호 찾기 일단 끝말잇기는 사람이 번갈아서 돌아감으로 itertools에 있는 cycle함수를 통해..

Algorithm/Programmers

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

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 해당 문제에서 최솟값을 만들기 위해서는 A, B배열 중에 A배열을 내림차순으로 정렬하고 B배열을 오름차순으로 정리한 다음 두 개의 배열을 순회하면서 곱한 값을 answer에 추가하면 최솟값을 만들 수 있다. 이를 구현한 코드는 다음과 같다. 🖥️ main.py def solution(A,B) -> int: """ 두 배열의 각각의 곱이 최소가 되기 위해서는 A배열은 내림차순으로 정렬 B..

Algorithm/Programmers

프로그래머스 LV2 올바른 괄호

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 코딩 테스트 문제를 풀다 보면, 괄호나 뽑아서 없애기 등 여러 문제들을 접할 수 있는데 이런 류의 문제들은 자료구조인 "스택"을 이용하면 쉽게 풀 수 있다. 해당 문제 같은 경우에는 스택을 정의한 다음에 "(" 이 들어올 때, 스택에 "("을 추가하고 ")"이 들어오면 스택에 있는 "("을 빼는 식으로 코드를 작성하면 된다. 유의할 점은 ")"을 처리할 때 스택에 값이 없다면 pop()..

Algorithm/Programmers

프로그래머스 LV2 프로세스

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 해당 문제는 지정한 프로세스가 몇 번째로 반환되는지 구하는 문제이다. 일단 구하고자 하는 프로세스의 인덱스를 따로 지정한 뒤 프로세스 큐를 파이썬 deque으로 구현하여 문제를 풀었다. 딱히 어려웠던 부분을 뽑자면 프로세스 큐에서 값을 뽑고, 프로세스 큐에 있는 다른 값들과 비교할 때, 프로세스 큐에 비어있을 경우를 예외처리 해야 하는 정도가 어려웠다고 생각한다. from collect..

Algorithm/Programmers

프로그래머스 LV2 주차 요금 계산

문제 https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 해당 문제는 자동차 번호판이 작은 숫자부터 큰 숫자까지의 주차 요금을 반환하는 문제이다. 어떤 특별한 테크닉을 강요하기보다는 구현을 얼마나 야물딱지게 할 수 있는지 판별하는 문제 인 듯하다. 나 같은 경우에는 사전형을 만들어서 입, 출 기록을 적어놓은 다음 만약 입, 출 기록이 짝수가 아닌 홀수라면 그 입, 출 기록 마지막에 23:59분을 추가하여 문제를 풀었다. 나머지는 괜찮은데 (주..

FrameWork/React

리액트 State와 useState 사용하기

오늘은 리액트 State에 대해서 알아보자. 일단 아래코드를 살펴보자 아래 코드는 클릭 이벤트가 발생했을 때 title이 바뀌는 코드이다. 🖥️ ExpensItem.js import "./ExpenseItem.css"; function ExpensItem(props) { let title = props.title; const handleClick = () => { title = "안녕하세요!"; } return ( {props.date.toISOString()} {title} ${props.amount} hello ); } export default ExpensItem; 하지만 버튼을 눌렀을 경우 버튼 이벤트인 handleClick이 작동하지 않았음을 알 수 있다. 왜 작동하지 않는 걸까? 이는 리액트의..

FrameWork/React

리액트 이벤트 처리하기

오늘은 리액트에서 이벤트 핸들러를 수행하는 방법에 대해 알아보자 이벤트 핸들러 React 엘리먼트에서 이벤트를 처리하는 방식은 DOM 엘리먼트에서 이벤트 처리하는 방식과 매우 유사하지만 몇 가지의 문법 차이가 존재한다. 문법의 차이는 다음과 같다. React의 이벤트는 소문자 대신 캐멀 케이스를 사용한다. 예) onclick (X), onClick (O) 일반적으로 props에서 이벤트를 찾을 때는 on접두사를 붙인 뒤 이벤트를 찾고, 함수의 이름은 handleClick처럼 handle 접두사를 지정하여 처리하는 것이 일반적이다. JSX를 사용하여 문자열이 아닌 함수로 이벤트 핸들러를 전달한다. 아래부터는 여러 이벤트 헨들러를 다루는 예를 소개해볼 예정이다. 버튼 이벤트 핸들링 아래는 button에 새로..

JHeaon
'분류 전체보기' 카테고리의 글 목록 (13 Page)