본문 바로가기

공부 정리346

[프로그래머스] 같은 숫자는 싫어 js 문제 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 접근 배열을 한번 쭉 돌면서 반복되지 않을때만 새로운 배열에(answer) 값을 넣어줘서 재구성 하여 리턴했습니다... 2022. 7. 28.
AAA 테스트 패턴 AAA란 테스트할때 주로 사용하는 패턴으로 Arange Act Assert 세 단어의 약자입니다. Arrange Arrange는 테스트를 위한 준비를 의미 합니다. Act 실행할 부분을 실행합니다. (버튼의 이벤트를 발생 시킨다던지...) Assert 원하는 대로 작동하는지 검증합니다. 간단한 예시 화면을 그리고 어떠한 버튼을 클릭했을 때, 특정 문구가 뜨는가? Arrange - 화면그리기 Act - 버튼 클릭 Assert - 특정문구 있는지 확인 code import MyScreen from "./MyScreen"; import { render, screen } from "@testing-library/react"; import userEvent from "@testing-library/user-eve.. 2022. 7. 18.
[React] lazy loading Lazy Loading이란? lazy loading이란 말그대로 느린 로딩을 의미합니다. react를 사용하여 렌더링을 할때, 프로젝트가 클수록, 초기 렌더링 시간이 오래걸리기 때문에 이를 해결해야할 필요성이 있습니다.(CSR을 채택하기 때문) 그리하여 나온 방법이 한번에 다 로딩하지 않는 느린 로딩 방식입니다. 처음에 모든페이지를 다 렌더링 하지않고 특정 페이지를 요청했을때 js를 다운받아오는 방식입니다. 문법 lazy Loading 안썼을 때 import A from './경로'; lazy Loading 썼을 때 const A = React.lazy(() => import('./경로'); 이제 A컴포넌트는 필요시에만 다운로드되어 작동합니다. 문제점 근데 이렇게 까지만 구현하면 원하는대로 작동하지 않습.. 2022. 7. 11.
[백준] 2233 사과나무 자바 문제 사과나무는 나무(tree)의 일종으로, 각각의 정점에 정확히 한 개의 사과가 있고, 모든 내부 정점(자식이 있는 정점)이 최소 두 개의 자식을 갖는 나무이다. 예를 들면 아래의 그림은 사과나무의 예이다. 나무같이 보이기 위해서 그림은 루트를 아래에 그린다. 이러한 사과나무에 서식하는 벌레를 생각해 보자. 이 벌레는 이 사과나무의 루트에서 DFS 순서로 탐색을 하게 된다. 자식이 여러 개인 경우에는 (뒤집혀진 그림에서) 왼쪽을 먼저 방문하게 된다. 이러한 탐색을 하면서, 새로운 노드를 방문할 때 0을, 모든 자식 노드를 방문하고 리턴할 때 1을 나열하면 하나의 이진 수열이 된다. 위의 그림으로 이진 수열을 만들면 다음과 같다. 0 0 0 1 0 1 1 0 1 1 a b c d e c d b e a 이.. 2022. 7. 5.
[프로그래머스] 행렬 테두리 회전하기 자바 문제 rows x columns 크기인 행렬이 있습니다. 행렬에는 1부터 rows x columns까지의 숫자가 한 줄씩 순서대로 적혀있습니다. 이 행렬에서 직사각형 모양의 범위를 여러 번 선택해, 테두리 부분에 있는 숫자들을 시계방향으로 회전시키려 합니다. 각 회전은 (x1, y1, x2, y2)인 정수 4개로 표현하며, 그 의미는 다음과 같습니다. x1 행 y1 열부터 x2 행 y2 열까지의 영역에 해당하는 직사각형에서 테두리에 있는 숫자들을 한 칸씩 시계방향으로 회전합니다. 다음은 6 x 6 크기 행렬의 예시입니다. 이 행렬에 (2, 2, 5, 4) 회전을 적용하면, 아래 그림과 같이 2행 2열부터 5행 4열까지 영역의 테두리가 시계방향으로 회전합니다. 이때, 중앙의 15와 21이 있는 영역은 회전.. 2022. 7. 1.
[프로그래머스]부족한 금액 계산하기 자바 문제 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 접근 간단한 그리디 문제입니다. 조건을 만족할때까지 count를 계산해서 값을 더해준다음, 가지고 있는 돈에서 빼주면 됩니다. 코드 class Solution { public long solution(int price, int m.. 2022. 6. 29.
반응형