클라우드 스쿨 28

Problem 10828 - 스택(JAVA)

간단한 자료구조 문제이지만, C++ 대신 자바를 공부하면서 새로 풀어봤다. 문제 : https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 코드 package Algorithm; import java.util.Scanner; public class Problem10828 { static int[] arr = new int[10001]; static int topflag=-1; public static void main(String[]..

Static, String

✏️ Static 클래스 안의 멤버에 static이 붙으면 그 멤버는 클래스의 객체를 선언하지 않고 바로 콜 해서 사용 가능하다. => static이 붙은 멤버들은 프로그램이 시작될 때 우선 메모리에 할당되므로 new를 통한 객체 초기화가 필요 없다. main 메소드에는 꼭 static이 붙어야 하는데, 그 이유는 main 메소드가 프로그램이 처음 시작되는 메소드이기 때문이다. main 메소드보다 빨리 실행될 수 있는 코드가 없으므로 static 사용하지 않으면 main 메소드의 메모리를 할당해 줄 부분이 없다. 따라서 프로그램 시작과 함께 main 메소드의 메모리를 할당해야 한다. 주의) static을 사용할 때 클래스 내에서 static을 사용하는 메소드는 멤버변수 사용 시 static 멤버변수만 사..

객체지향 언어

✏️ 객체지향언어의 특징 1. 코드의 재사용성이 높다. 2. 코드의 관리가 용이하다. -> 코드 간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다. -> 제어자와 메서드를 이용해서 데이터를 보호하고, 올바른 값 유지하도록 하고, 코드의 중복을 제고해서 코드의 불일치로 인한 오동작을 방지한다. => 코드의 재사용성이 높고 유지보수가 용이하다. ✏️ 클래스와 객체 클래스란 ? 객체의 설계도 또는 틀. 객체를 생성하는 데 사용되며, 객체는 클래스에 정의된 대로 생성된다. 클래스의 인스턴스화란 ? 클래스로부터 객체를 만드는 과정. 객체란 ? 실제로 존재하는 것. 속성과 기능으로 구성된다. 속성 -> 멤버변수(TV에서의 크기, 길이, 볼륨, 채널 등)..

React

버튼을 누르면 moon 이라고 적혀있던 버튼이 lee로 바뀌도록 함수를 구현했는데 state 객체의 값이 변경되어도 화면이 갱신되지 않는다. import { useState } from "react" ; export default function Hello() { const [user, setUser] = useState({id:1,name:"moon"}) ; function test(){ user.name="lee"; setUser(user); } return ( {user.name} ) } 버튼을 누르면 test 함수가 실행되어서 user.name을 lee로 바꾸고 그것이 화면에 갱신이 되어야 하는데 버튼을 눌러도 그대로 변하지 않는다. 그 이유는 객체는 주소를 저장하기 때문이다. 주소가 가리키는 곳..

클라우드 스쿨 2023.06.12

React - ref 객체 alert으로 출력

useRef로 input으로 받은 텍스트를 alert 창에 띄우려고 했는데 useRef는 ref 객체를 반환하기 때문에 alert 창에 그대로 출력하려고 하면 object 로만 출력된다. 그래서 consol 창에 출력해 보니 ref 객체는 이러한 구조로 되어 있었다. current 안에 input 텍스트 창에 입력한 값이 있을 것 같아서 눌러보니 current 안에 value 값으로 내가 입력한 값이 들어있었다. 그래서 alert(nameRef.current.value)를 해주니까 원하는 출력이 나왔다. import {useRef} from "react"; export default function Message(){ function onClickHandle(){ console.log("clicked")..

클라우드 스쿨 2023.06.11

CSS - 선택자

🧐 기본 선택자 1. 전체 선택자 = * 문서의 모든 요소에 스타일을 적용할 때 사용 * { margin: 0; /*문서의 전체에 margin과 padding을 0으로 설정*/ padding: 0; } 2. 타입 선택자 특정 태그를 사용한 모든 요소에 스타일을 적용할 때 사용 p { font-style: italic; /*모든 텍스트 단락의 글자를 이탤릭체로 표시*/ } 3. 클래스 선택자 = . 특정 클래스를 사용한 요소에 스타일을 적용할 때 사용 스타일을 적용하고 싶은 태그 안에 class="클래스명"으로 설정한 후 스타일을 적용할 수 있다. .accent { padding: 5px; /*accent라는 클래스를 가진 요소에 패딩값 설정*/ } 4. id 선택자 = # 클래스 선택자와 동일하게 특정 ..

클라우드 스쿨 2023.05.21

HTML - 폼

🧐 태그 사용자에게 입력을 받기 위한 태그로, 입력받으려는 내용에 따라 다른 type을 이용하여 입력 형태를 지정할 수 있다. 한 줄짜리 텍스트를 입력받으려면 와 같이 사용한다. text 말고도 많은 type을 사용할 수 있다. 🧐 태그 외의 태그들 여러 줄 입력받을 땐 태그 드롭다운 목록을 만들 땐 , 태그 선택 1(기본) 선택 2 선택 3 선택 4 데이터 목록 만들 땐 , 태그 리스트 1 리스트 2 리스트 3 버튼 만들 땐 태그

클라우드 스쿨 2023.05.21

HTML - 시맨틱 태그와 표 만들기

🧐 시맨틱 태그 1. 태그 사이트 전체/특정 영역의 헤더 영역을 나타낸다. 헤더는 주로 맨 위쪽이나 왼쪽에 위치한다. 2. 태그 같은 웹문서 안에서 다른 위치로 연결하거나 다른 웹 문서로 연결하는 링크를 만든다. 헤더나 푸터 안에 포함할 수도 있고, 독립적으로 사용할 수도 있다. 3. 태그 핵심/메인 콘텐츠를 담는다. main 태그는 웹 문서에서 한 번만 사용할 수 있다. 4. 태그 블로그의 포스트, 뉴스 사이트의 기사처럼 독립된 웹 콘텐츠 항목을 담는다. article 태그를 여러 개 사용할 수 있고, 안에 태그를 넣을 수도 있다. 5. 태그 웹 문서에서 콘텐츠 영역을 나타낸다. 태그와 비슷해 보이지만, 태그는 몇 개의 콘텐츠를 묶는 용도로 사용한다. 단순히 스타일 적용을 위해 콘텐츠를 묶는 경우에는 ..

클라우드 스쿨 2023.05.21