본문 바로가기

분류 전체보기101

[java] 백준 4949 균형잡힌 세상 이번 문제는 stack를 활용하여 괄호 짝을 찾는 문제이다. 하지만 이번 문제와는 다르게 소괄호 () 와 대괄호 []가 모두 들어가 있다. 따라서 if문 처리가 조금 복잡하다. 특히 ')'가 나온 뒤 '('가 나오는 등 순서도 신경써야하는 것이 헷갈렸다. 하지만 boolean변수를 하나 추가하여 해결했다. 코드를 통해 설명하겠다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.security.Identity; import java.util.Stack; public class Main { public static void main(String[] args) throws Exception{ BufferedReader .. 2024. 2. 13.
[개발 공부.1] 앱 개발에서의 MVC패턴. ① 디자인 패턴 디자인 패턴이란 코드를 작성하는 규칙 또는 규약 같은 것입니다. 특정한 규칙이나 규악을 따라 코드를 작성하는 것입니다. 일종의 템플릿과 빗스한 역할을 한다고 이해하면 되겠습니다. 이런 방식을 사용하는 이유는 코드를 좀 더 이해하기 쉽고, 유지보수하기 쉬우며, 잠재적인 결함을 줄이기 위함입니다. 오늘 알아볼 MVC패턴은 디자인 패턴 중 한가지 입니다. ② MVC패턴 MVC패턴이란 Model, View, Controller로 구역을 나누어 코드를 작성하는 디자인 패턴이라고 설명할 수 있겠습니다. 앱이나 프로젝트를 만들 때 역할에 따라 코드들을 구분해 두는 것이라고 생각하면 이해하기 편하겠습니다. 일반적인 작동 방식을 간단하게 위 그림으로 이해해 보겠습니다. ③ 역할 Controller의 역할.. 2024. 2. 13.
동기 처리방식과 비동기 처리방식 flutter을 비롯한 여러 프로그래밍을 보면 항상 동기방식과 비동기방식이 나온다. 이 개념을 숙지하고 앱이나 웹프로그램에 활용한다면 상황에 따하 훨신 효율적으로 처리할 수 있을것이다. 동기프로그래밍(Synchronous programming) 코드가 순차적으로 실행되는 프로그래밍 패러다임. 한 작업 끝나기 전에는 다음 작업으로 넘어가지 않고, 순차적으로 명령어를 실행하는 개념. 비동기 프로그래밍(Asynchronous programming) 코드가 순차적으로 진행되지 않고, 여러 작업이 동시에 진행되는 개념. 즉 멀티테스킹이 구현되고 있는 것이다. 그렇다면 flutter에서 비동기를 처리하는 방법은 어떤 것이 있을까요? 1. Future 비동기 작업이 끝날 때 까지 대기할 수 있는 개채입니다. 비동기 .. 2024. 2. 10.
[java]백준 9012 괄호 처음에 이 문제를 봤을 때는 어떤 규칙이 있는 지 파악하기 힘들었다. '('와 ')'의 수를 세야하는 가 싶기도 했다. 하지만 스택을 활용하여 해결하면 간단한문제였다. 생각지도 못한 부분에서 잘못돤 정답이 나오는 경우도 있으니 꼼꼼히 생각해보자. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseIn.. 2024. 1. 31.
[java] 백준 10773 제로 매우 간단한 문제이다. Stack클래스의 메소드를 연습한다고 생각하면 된다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int K = Integer.parseInt(br.readLine()); int sum = 0; Stack stack = new Stack(); for (int i = 0; i < K; i++) { int num.. 2024. 1. 31.
[java] 백준 28278 스택2 스택을 이해하는 문제이다. 우선 스택의 간단한 개념에 대해서 알아야 한다. 스택은 선입후출의 형태를 가지고 있다. 프링글스 통을 생각하면 될 것 같다. 먼저 들어간 값이 가장 나중에 나오는 것이다. 그렇다면 요구조건에 따라 문제를 하나씩 해결해보면 된다. 자바에 있는 Stack 클래스를 선언하고 사용하면 된다. 또한 1 3과 같은 공백을 통한 입력을 받기위해 StringTokenizer을, 성능을 위해 한변에 출력하기 위한 StringBuilder을 사용했다. 나머지는 if문으로 간단하게 구현할 수 있었다. Stack클래스의 유용한 메소드를 활용하면 편리하다. 조건 2의 경우 2 스택에 정수가 있다면 맨 위의 정수를 빼고 출력한다. 없다면 -1을 대신 출력한다. 로 되어있다. 나는 이것이 맨 위 값을 제.. 2024. 1. 31.