https://www.acmicpc.net/problem/1918 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 A~Z의 문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 수식 www.acmicpc.net 문자열처리 문제처럼 보였지만, 의외로 자료구조 문제였다. 아이디어를 구상하고 구체화, 테스트하는데 30분, 코드로 구현하는데 30분 정도 걸린 것 같다. 문제를 이해하는데 큰 어려움은 없었다. 풀이 아이디어 이 문제를 푸는데 중요한 것은 아래 2가지를 떠올리는 것이다. 1. '우선 순위가 높은 연산자를 먼저 처리한다' 2. 괄호 내부의 연산은 괄호 외부와 문제 풀이 구조가 동일하다 = 재..
* 플러터를 원문 공식 문서 (https://flutter.dev/docs)를 읽으면서 공부하는 과정에서 정리하고자 작성하는 포스팅으로 저는 플러터 실무 개발 경력이 없는 대학생인 점을 미리 밝힙니다. * 추가로 오준석의 플러터 생존코딩 및 제 개인 경험을 참고하여 작성하고 있습니다. * 오역, 오탈자, 잘못된 내용의 지적은 항상 감사히 받겠습니다 :) 이 포스팅 역시, 아래 게시글의 내용을 기본으로 합니다. https://codelabs.developers.google.com/codelabs/first-flutter-app-pt2#5 첫 Flutter 앱 작성, 2부 | Google Codelabs Flutter는 하나의 코드베이스를 사용해 모바일, 웹, 데스크톱을 대상으로 아름다운 네이티브 컴파일 애..
* 플러터를 원문 공식 문서 (https://flutter.dev/docs)를 읽으면서 공부하는 과정에서 정리하고자 작성하는 포스팅으로 저는 플러터 실무 개발 경력이 없는 대학생인 점을 미리 밝힙니다. * 추가로 오준석의 플러터 생존코딩 및 제 개인 경험을 참고하여 작성하고 있습니다. * 오역, 오탈자, 잘못된 내용의 지적은 항상 감사히 받겠습니다 :) 이 문서의 내용은 https://codelabs.developers.google.com/codelabs/first-flutter-app-pt2#3 첫 Flutter 앱 작성, 2부 | Google Codelabs Flutter는 하나의 코드베이스를 사용해 모바일, 웹, 데스크톱을 대상으로 아름다운 네이티브 컴파일 애플리케이션을 개발하기 위한 Google의..
https://www.acmicpc.net/problem/3709 3709번: 레이저빔은 어디로 레이저박스라는 게임은 정사각형 모양의 n x n 보드에서 진행한다. (체스판을 상상하면 된다) 레이저박스의 임의의 칸마다 우향우 거울이라는 장치가 설치되어 있고, 마지막으로 레이저 한개가 www.acmicpc.net 그래프 연습문제를 찾다가 오늘은 적당한 난이도로 해보고자 solved.ac 기준 골드 5인 문제를 골랐다. 번역은 오역이 난무해서 문제 이해조차 제대로 안되고, 난이도는 또 너무 쉬워서 좋은 기억은 없었던 문제.. 이 정도 난이도면 실버5~4 수준으로 넣어도 아무 상관 없을 것 같다.. 번역에서 행과 열을 거꾸로 쓰는 바람에 매우 헷갈렸다. 행인데 어떻게 맨 밑에서 위로 쏘는건지... 이 문제는 ..
* 플러터를 원문 공식 문서 (https://flutter.dev/docs)를 읽으면서 공부하는 과정에서 정리하고자 작성하는 포스팅으로 저는 플러터 실무 개발 경력이 없는 대학생인 점을 미리 밝힙니다. * 추가로 오준석의 플러터 생존코딩 및 제 개인 경험을 참고하여 작성하고 있습니다. * 오역, 오탈자, 잘못된 내용의 지적은 항상 감사히 받겠습니다 :) 지난 포스팅에서 이어, import한 모듈을 사용합니다. Text 위젯에 들어갈 문자열을 import한 모듈을 이용해 넣어보겠습니다. build 메소드에 final 키워드를 넣어 wordPair 인스턴스 변수를 만들고, WordPair.random() 객체를 생성합니다. final은 상수를 만드는 키워드 입니다. Scaffold의 body 인자에 있는 C..
* 이 포스팅은 기본적으로 플러터 공식 문서 https://flutter.dev/docs 를 번역하여 작성하고 있습니다. * 추가로 오준석의 플러터 생존코딩 및 제 개인 경험을 참고하여 작성하고 있습니다. * 플러터를 원문 공식 문서를 읽으면서 공부하는 과정에서 정리하고자 작성하는 포스팅으로 저는 플러터 실무 개발 경력이 없는 대학생인 점을 미리 밝힙니다. * 오역, 오탈자, 잘못된 내용의 지적은 항상 감사히 받겠습니다 :) 본 포스팅은 https://flutter.dev/docs/get-started/test-drive https://flutter.dev/docs/get-started/codelab Write your first Flutter app, part 1 How to write a web-ba..
*플러터 공식 document을 기준으로 보고, 오준석의 플러터 생존 코딩 내용을 참고하여 작성하였습니다. 플러터를 설치하기 위해 아래 사이트로 들어갑니다. https://flutter.dev/ Flutter - Beautiful native apps in record time Flutter SDK is Google's UI toolkit for crafting beautiful, natively compiled applications for mobile, web, and desktop from a single codebase. flutter.dev 우측 상단의 Get Started를 클릭합니다. 운영체제를 선택합니다. 저는 윈도우에서 설치를 진행하였기 때문에 윈도우를 선택하였습니다. 파란 버튼을 눌러 ..
https://www.acmicpc.net/problem/1043 1043번: 거짓말 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 www.acmicpc.net 분리집합 (유니온-파인드)를 사용하여 푸는 문제이다. 문제 분류를 보면 그래프 탐색으로도 분류가 되어있는데, 우선은 분리집합으로 풀어보았다. 이 문제는 시간제한도 2초로 넉넉한데, 파티당 인원수, 파티수, 총 사람 수가 매우 작다. 그래서 시간복잡도는 거의 신경쓰지 않고.. 그냥 최대한 되는 대로 풀어보았다. 풀이 아이디어 1. 분리집합 자료구조만 이해했다면 문제 해결 아이디어를 떠올리는 것은 어렵지 않다...
https://www.acmicpc.net/problem/1005 1005번: ACM Craft 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건물의 개수 N 과 건물간의 건설순서규칙의 총 개수 K이 주어진다. (건물의 번호는 1번부 www.acmicpc.net 그래프 문제를 풀고 싶어서, solved.ac의 그래프 태그 문제를 찾아보다가 발견한 문제이다. 스타크래프트를 연상시키는 문제인데, 그래프에 DP를 섞은 재미있는 문제였다. 우선 이 문제는 문제에서 주어진대로 시작하는 건물부터 차근 차근 건물을 지어나가다가 마지막에 원하는 건물을 짓게되면 멈추는 풀이로는 접근이 쉽지가 않다. 그래서 거꾸로 원하는 건물을 짓기 위해 지어야 하는 건물들을 역탐색..
https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 문제 설명을 간단하게 하면, 내 오른쪽에 있는 숫자들 중, 나보다 큰 첫번째 숫자를 찾는 문제이다. 5 2 3 8 이면, 5 입장에서 오른쪽에서 가장 처음만나는 자기보다 큰 숫자는 8, 2 입장에서도 8 3 입장에서도 8이다. https://www.acmicpc.net/problem/14659 14659번: 한조서열정리하고옴ㅋㅋ 첫째 줄에 봉우리의 수 겸 활잡이의 수 N이 주어진다. (1 ≤ N ≤ 30,000..