자료구조 & 알고리즘/프로그래머스(programmers)

[programmers] 가장 긴 팰린드롬

https://programmers.co.kr/learn/courses/30/lessons/12904 코딩테스트 연습 - 가장 긴 팰린드롬 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들 programmers.co.kr 이 문제는 문자열을 어떻게 쪼개고 비교할 것인가에 대한 문제였다. 처음에는 괄호 만들기처럼 스택에 넣고 하나하나 꺼내주면서 비교해주려고 했는데 그렇게 되면 가장 긴 팰린드롬을 구하기가 까다로워질 거 같아서 그냥 2중 for문으로 비교했다. 첫 번째 for문으로는 i를 주어진 문자열 길이 만큼 돌려주면서 j로는..

2021.07.30 게시됨

Language/Javascript

[javascript 자바스크립트] import 할때, 중괄호{} 가 있고 없고의 차이란?

최근 리액트 공부를 할 때나 타입 스크립트, 자바스크립트를 사용하면서 모듈이나 라이브러리를 불러올 때 아래와 같이 import를 사용 하곤 한다. 근데 아래 예시를 보면 알겠지만 , React는 중괄호{} 로 감싸지 않고, 나머지는 감싸서 쓰는데 둘의 차이는 뭘까? import React, { useEffect,useState } from 'react' 정답은 받아오는 모듈에서 보내주는 export 방식의 차이다. 아래 예시를 보면서 이해해보자. 먼저 app.js 라는 파일을 만들고 아래처럼 선언해준다. // app.js const a = 1; const b = 2; export {a}; export const c = 3; export default b; app.js 코드를 보면 3가지 방식으로 expo..

2021.07.29 게시됨

자료구조 & 알고리즘/프로그래머스(programmers)

[programmers] 멀리뛰기

https://programmers.co.kr/learn/courses/30/lessons/12914 코딩테스트 연습 - 멀리 뛰기 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2 programmers.co.kr 이 문제는 백준에서 풀었었던 계단 오르기와 비슷한 문제라고 생각했고 같은 방식은 DP로 풀기 시작했다. 간단하게 점화식을 세울 수 있었고, Bottom-up방식을 사용했고 2차원DP배열에 메모이제이션으로 구현했다. # 이문제는 dp문제이다. def solution(n): answer = 0 dp =[[0]..

2021.07.29 게시됨

자료구조 & 알고리즘/백준(Baekjoon)

[백준] 16926(파이썬) - 배열 돌리기 1

https://www.acmicpc.net/problem/16926 16926번: 배열 돌리기 1 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net 이 문제는 간단한 구현 문제였다. 배열을 돌리거나 할 때 중요한 점은 하나의 temp 변수를 만들어주고 처음 시작할 때 값을 넣어준 뒤, 배열을 돌리다 보면 비어있는 배열이 생기는데 그때 temp변수 안에 저장해두었던 값을 빈 배열에 넣어주면 된다. 까다로웠던 점은 안에 있는 배열도 돌려줘야 하기 때문인..

2021.07.28 게시됨