분류 전체보기
[React] 수정모드 구현하기
※ return을 해줘야 화면에 반영된다. if (edit) { // return( 자동 랜더링됨 //text는 event.target.value에 잇음 onChange={(e) => { //console.log(e.target.value); setText(e.target.value); }}> setEdit(false)}>수정 ) } return 안쓰고 왜안되지 삽질하고있었다.. *text 상자구현 자동 랜더링됨 //text는 event.target.value에 잇음 onChange={(e) => { //console.log(e.target.value); setText(e.target.value); }}> * 전체코드 import './App.css'; import { useState } from "re..
[React] 함수분리하기, 파라미터전달방법
* 함수형식 const Record= ( {매개변수들 } ) =>{ return( ) } Main함수 : //하면 Record함수의 return내 태그로 대체된다. 단, 태그는 1개만 리턴가능 -> 전체를 div 로감싸서 리턴하면된다. ※ setNumList ( [ 배열 ] ) 안에 배열([])을 넣어야된다. * (자식에서 공통으로 사용해야할) 파라미터전달방법 1. 부모함수 App에서 선언후 2.자식에게 전달한다. 3. 자식을 매개변수에 선언하고 4. 부모 아래처럼 전달하면 된다. import './App.css'; import { useState } from "react"; //함수 첫글자는 대문자여야 const RecordForm = ({ numList, setNumList }) => { const ..
[React] 카운터, 기록 기능만들기 // js반복문
* 반복문 배열.map( (i) => 사용 ) {numList.map((num) =>( {num} ))} 배열.map 하면, for each와 유사하다. for( auto num : list)와 유사하다. num이름으로 배열을 순회한다. import './App.css'; import { useState } from "react"; function App() { const [num, setNum] = useState(0); const [numList, setNumList] = useState([]); function numRecording() { setNumList([...numList, num]); //기존의 배열에 num이 추가된 배열 리턴 setNum(0); } return ( {num} { set..
[React] css 적용법
1. {}안에 넣어서 객체형태로 스타일을 주면된다. {name} 2.className를 주고 css : .클래스명 으로 스타일지정
[React] useState 원리
setNum은 Setter와 유사하다. let [num, setNum] = useState(1); -일반변수 : 새로고침해야 렌더링됨 -useState : 값이변경되면 (setNum 호출되면 ) 화면이 자동으로 다시 렌더링됨. import logo from './logo.svg'; import './App.css'; import { useState } from "react"; function App() { let name = "Bisuuuuuuuuuuu"; let [num, setNum] = useState(1); return ( {num} {setNum(num=num+1)}}>버튼 ); } export default App;
백준 10799 c++ // 스택응용 idea, 남은'('의 갯수를 활용하라
https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net * 의사코드 #include using namespace std; int n,ret; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); stack s; string str; cin >> str; for (int i = 0; i < str.size();++i) { if (str[i] == '(') { s.push('('); } else {..
백준 4949 cpp // 괄호검사 알고리즘
https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net *괄호검사 알고리즘 왼괄호 ->push 오른괄호->빈스택인경우 -> wrong // -> 올바른짝이있는경우 ->pop ->안맞는짝인경우 ->wrong ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 작업후 (왼괄호가 )남아있는경우 ->wrong ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 유효하면 yes 아니면 no출력 * 내코드 #include using namespace std; string ..
백준 5430 cpp // string find,+=시간복잡도, split 구현방법, 예외처리방법
https://www.acmicpc.net/problem/5430] 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net *예외처리방법 최악입력 : [] 일때 별도로 처리해준다. *string find,+=시간복잡도 find : O(n) for(i=0~n) s+='A' //O(n) for(i=0~n) s=s+'A' //O(n^2) 결론 : += 를 사용해라. * 의사코드 1.배열을 파싱해서 데큐에 담기 2.명령어를 하나씩돌면서 R이면 참조위치를 앞뒤 바궈주기 D이면 참조위치에 맞춰서 pop하기 3. 결과값완성하기 참조위치가 앞이면 d의 원소 앞부터 추가 참조위치가 뒤면 ..