전체 글 112

강의정리 - 단어뒤집기(StringBuilder)

1) 문자열 뒤집기 - StringBuilder를 이용한 reverse기능 사용 public int solution(int n, String[] str){ ArrayList answer = new ArrayList(); for(String x: str){ String tmp = new StringBuilder(x).reverse().toString(); answer.add(tmp); } return answer; } - 특정문자만 뒤집어야 할 때 study -> yduts public int solution(int n, String[] str){ ArrayList answer = new ArrayList(); for(String x: str){ char[] s = x.toCharArray(); int l..

강의 정리 - 문자찾기 / 대소문자 변환 / 문장 속 단어

1) 문자 찾기 : 문자열에서 특정 문자 찾기 - 문자열, 문자를 uppercase를 통해 대문자로 표준화 - str.toCharArray() => 문자열을 문자 하나하나로 나눠 배열로 만들어줌 * 문자열의 공백도 인덱스에 포함됨 -> 공백을 포함시키지 않으려면 'replace' 사용해 공백 제거해주고, 배열로 변환해주면 될 듯 함 import java.util.*; public class Main { public int solution(String str, char t){ int answer = 0; str = str.toUpperCase(); t = Character.toUpperCase(t); for(char x : str.toCharArray()){ } return answer; } // tip:..

프로그래머스 - 전화번호 목록 (자바/java)

https://chbuljumeok1997.tistory.com/58 프로그래머스 - 해시/ 전화번호 목록 JAVA programmers.co.kr/learn/courses/30/lessons/42577?language=java 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가. chbuljumeok1997.tistory.com [ 기록용 ] 기존에 풀었던 것과 다르게 풀어보려고 함 * 해시로 풀고 싶었지만 해시가 효율성이 더 떨어지는 것 같아 우선 새로운 방식으로 풀어보려고 합니다 - startsWith 사용 : 비교대상 문자열이 입력된 문자열 값으로 시작되는지 여부를 확인해 boolean(true/false) ..

프로그래머스 - 완주하지 못한 선수_해시맵(HashMap) 사용해 풀기

https://programmers.co.kr/learn/courses/30/lessons/42576 이 문제를 다시 풀어봤는데 난 여전히 sort를 사용해 풀었고, 더 좋은 알고리즘을이 있을 것 같아 여러개 찾아봄 찾아 보다 좋은 풀이가 있어서 해당 풀이로 문제를 풀어보고자 함 => 참고로 sort 사용해서 풀었을 때 보다 훨씬 빠름 - getOrDefault getOrDefault(Object key, V DefaultValue) : 찾는 키가 존재하면 찾는 키의 값을 반환하고 아니면 default값 반환 1) hashmap 에 participant 의 선수들을 key로 설정해 +1 씩 증가시켜 넣어줌 -> 동명이인이 있을 수 있기 때문에 중복 처리를 해줘야함 -> 이때 getOrDefault 를 사..

React - Redirect, Style Loaders, css, sass, styled components

* 스터디 인증 겸 기록용 - react 공부하려고 들어온 분이면 다른분 블로그를 참고해주세요..:) 이 글은 인증용 day 1 - 10.21 day 2 - 10.23 - Redirect import {Redirect} from 'react-router-dom'; 로 사용 - Style Loaders - css import './App.css' - css module import styles from './App.module.css'; - Sass import './App.scss'; import './App.sass'; - Sass module import styles from './App.module.scss' import styles from './App.module.sass' Day 2 - App..

React 2021.10.21

React - JSX / JS 링크로 라우팅 이동하기

* 그냥 스터디 인증겸 기록용 - JSX 링크로 라우팅 이동하기(1) : Link 사용 - links.jsx import {Link} from "react-router-dom" export default function Links(){ return ( Home profile profile/1 about about?name=mark ) } - app.js import './App.css'; import { BrowserRouter, Route, Switch } from 'react-router-dom'; import Home from "./pages/Home" import Profile from './pages/Profile'; import About from './pages/About'; import N..

React 2021.09.27

React - switch 와 not found

- Switch 여러 route 중 순서대로 먼저 맞는 하나만 보여줌 exact를 뺄 수 있는 로직을 만들 수 있음 가장 마지막에 어떠한 path에도 맞지않으면 보여지는 컴포넌트를 설정해 'not found' 페이지 설정 가능 - app.js : switch 내에서 순서대로 맞는 것을 찾아감 => exact를 써주지 않아도 순서대로 찾아가게 됨 => switch 내에서 순서대로 적어줘야함 * / -> root는 다 걸릴 수 있기 때문에 exact를 써줘야함 import './App.css'; import { BrowserRouter, Route, Switch } from 'react-router-dom'; import Home from "./pages/Home" import Profile from './..

React 2021.09.26

React - 라우팅 , dynamic routing

- SPA 라우팅 과정 1) 브라우저에서 최초에 '/' 경로로 요청을 하면, 2) react web app 을 내려줌 3) 내려받은 react app에서 '/'경로에 맞는 컴포넌트를 보여줌 4) react app에서 다른페이지로 이동하는 동작을 수행하면 5) 새로운 경로에 맞는 컴포넌트를 보여줌 npm i react-router-dom : 가장 대표적인 라우팅 패키지 ex) 실습 - about, profile, home component 생성 - 각자 경로 지정(home - '/' , profile - '/profile' , about - '/about' - browserrouter로 라우터들을 감싸줌 - 브라우저에서 요청한 경로에 route의 path가 들어있으면 해당 컴포넌트를 보여줌 -> '/abo..

React 2021.09.19

React - ESLint , Prettier, husky, lint-staged

* 그냥 라이브러리 설명 - ESLint : 코딩 스타일을 맞출 수 있음/ 규칙을 설정해 잘못된 부분을 알려줄 수 있음 ex) formatting : ';'를 사용하지 않으면 발견할 수 있도록 -> eslint 설치하고, node_module에서 확인 가능 npx eslint --init - Prettier : an opinionated code formatter - husky : git hooks made easy git 사용을 설정하는 것 - lint-staged : run linters on git staged files npm i husky -D npx husky install -> hook installed

React 2021.09.12

React - props & state & event handling

- props : 컴포넌트 외부에서 컴포넌트에게 주는 데이터 - state : 컴포넌트 내부에서 변경할 수 있는 데이터 둘다 변경이 발생하면, 랜더가 발생 - render 함수 : props와 state를 바탕으로 컴포넌트를 그림 -> props와 state가 변경되면 컴포넌트를 다시 그림 => 렌더함수에 정의해 놓는것 - props 사용 function Component(props) { return {props.message} } //class component class Component extends React.Component { render() { return ( {this.props.message} ); } } //default props //함수에서도 사용 가능 Component.defaul..

React 2021.09.08

React library & JSX

*패캠 리액트 3강 - 리액트의 핵심 모듈 2개 1) import ReactDOM from 'react-dom'; => 만들어진 리액트 컴포넌트를 htmlelement에 연결할때 사용 2) import React from 'react-dom'; => 리액트 컴포넌트 만들기 ex) ReactDOM.render{ , document.getElement~ } -------------------- * 패캠 2-3강 - 작성한 코드를 순수 실행할 수 있는 자바스크립트로 변경해주는 것 -> babel - JSX : jsx문법으로 작성된 코드는 순수한 javascript로 컴파일 ex) hello // => React.createElement("div", null, " hello") https://babeljs.io..

React 2021.09.05

프로그래머스 완주하지 못한 선수 - java ver

해당문제는 c++로 푼적은 있는데 자바로 푼적은 없어서 기억을 살릴겸 풀어봤다. * 효율성 체크를 하는 문제기 때문에 무작정 완전탐색을 이용하면 안될 것 같다.. https://programmers.co.kr/learn/courses/30/lessons/42576?language=java 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr - 단순하게 참가자 배열과 완주자 배열을 정렬하고, 비교해 다른게 있으면 리턴하도록 했다. * 참가자 배열의 크기가 더 크기때문에 ArrayIndexOutO..

React ch.1

200년만에 블로그에 들어왔다... 신입주제에 뭐가 바쁘다고 블로그를 소홀히 하다 정신차리고 공부를 시작하는 중이다.. 과장님이 리액트로 프로젝트 ui 개발을 하자고 하셔서 시작하게 되었는데 나름 재밌어서 좀 꾸준히 하다가 이것도 소홀해졌다..ㅎㅎ 우선 공부한거 적어놔야지 * 여기는 두서없이 우선 적어 놓을 예정 - 우선 코딩애플 강의를 참고했고, 코딩애플은 7강부터인가 유료여서 이후는 생활코딩 강의를 통해 진행할 예정이다. - state state: component 내부적으로 사용되는 것들, props에 따라 component를 실제로 구현하는 것 state로 변경하면 재렌더링이 일어남 state를 변경하고 싶으면 복사해서 사용해야함 / 바로 사용할 수 없음 deep copy: 단순 값공유가 아닌 서..

React 2021.08.21