Computer Science/자료구조 & 알고리즘 4

알고리즘 문제 풀이 #2 올바른 괄호

programers에서 문제 풀이한 내용입니다. 문제 설명괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어,"()()" 또는 "(())()" 는 올바른 괄호입니다.")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다.'(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요.제한사항문자열 s의 길이 : 100,000 이하의 자연수문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다.입출력 결과sanswer"()()"true"(())()"true")()("false"(()("fa..

알고리즘 문제 풀이 #1 최대값과 최솟값

programers에서 문제 풀이한 내용입니다. 문제 설명문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를 들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.제한 조건s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.입출력 결과sanswer"1 2 3 4""1 4""-1 -2 -3 -4""-4 -1""-1 -1""-1 -1"문제 풀이 1public String getMinMaxString_1(String str) { Stri..

자료구조(Data Structure)와 추상자료형(ADT)

자료구조와 알고리즘 컴퓨터가 기본적으로 하는 일은 아래와 같다. 데이터 저장 데이터 연산 이 기준으로 자료구조와 알고리즘을 정의 내릴 수 있다. 자료구조는 데이터를 저장할 때, 어떻게 하면 컴퓨터가 처리하기 쉽게 만드는지를 다루는 것이다. 알고리즘은 데이터를 연산할 때, 어떻게 하면 컴퓨터가 처리하기 쉽게 만드는지를 다루는 것이다. 다시 말해 자료구조(Data Structure)는 자료를 저장하는 방법이고, 알고리즘(Algorithm)은 문제를 효율적으로 해결하기 위한 방법이라고 할 수 있다. 모든 상황에 좋은 자료구조는 존재하지 않으므로, 상황에 따라 효율적인 자료구조를 선택하고 알고리즘을 구현해야 한다. 또한 알고리즘을 적용하지 않아도 문제를 해결할 수 있지만, 문제의 크기가 커진다면 성능을 위해 반..

알고리즘 공부 방법

알고리즘 사이트 모음 프로그래머스: https://programmers.co.kr/learn/challenges 백준: https://www.acmicpc.net/ 코딜리티(Codility): https://www.codility.com/ 코딩도장: http://codingdojang.com/ 오일러 프로젝트: http://euler.synap.co.kr/ CodeForces: http://codeforces.com 알고리즘 추천 책 코딩 인터뷰 완전 분석 알고리즘 문제 해결 전략 알고리즘 공부법 알고리즘과 관련된 이론을 공부하여 이해한다. 이론과 관련된 알고리즘 문제를 푸는 방법을 이해한다. 완벽하지 않아도 일부만 이해하는 것으로 충분하다. 관련 알고리즘 문제를 풀어본다. 한 문제는 길어야 2시간 정도..