분류 전체보기 275

[C언어] 8. 문자

8. 문자 - C프로그램의 문자는 아스키 코드(Ascii Code)를 따른다 - 아스키 코드는 0부터 127까지 1바이트로 구성되며 주요 문자를 출력하도록 해준다 0: 48~9:57 A: 65~Z: 90 (각 소문자와 대문자의 차이는 32이다) a: 97~z:122 숫자,대문자,소문자의 기본적인 아스키코드는 기억하자!!(숫자,대문자,소문자 순으로 아스키코드가 크다) (예제1) 아스키코드값이 어떤 문자를 가질까 #include int main(void) { char a = 65; printf("%c\n",a); system("pause"); return 0; } (해설) 변수의 자료형은 char이고 캐릭터형 자체에 숫자를 넣어서(char a=65;) 처리를 할 수 있다. printf문에서는 형식 지정자로 ..

[백준/알고리즘/python/java] 1874번 - 스택 수열

맨 처음에 문제를 이해하는데 시간이 좀 걸렸다. 이해한 바로는 이렇다. 「첫 줄에 n 이 입력되면, 둘째 줄 부터는 1부터 n 까지의 수를 차례로 입력한다. 그렇게 입력된 n 개의 수가 수열을 형성하도록 push 연산은 +, pop 연산은 - 로 표현하도록 출력하면 된다.」 이해가 안되면, 힌트를 보면 된다. 첫 번째 예제입력은 [4,3,6,8,7,5,2,1] 순으로 입력되었다. 이렇게 수열을 이루려면(출력이 예제입력처럼 되려면), 빈 stack = []에 차례로 push(1) → push(2) → push(3) → push(4) → pop() → pop() → push(5) → push(6) → pop() → push(7) → push(8) → pop() → pop() → pop() → pop() → ..

[백준/알고리즘/python/java] 4949번 - 균형잡힌 세상

백준 9012번 괄호 문제에서 소괄호 뿐만 아니라 대괄호도 추가되었다고 생각하면 된다. 입력의 종료조건으로 맨 마지막에 점 하나(".")만 들어온다고 했으니, 무한루프를 만들고, 입력이 점 하나(".")라면 프로그램이 종료되게 하고 그렇지 않으면 계속해서 입력을 하도록 구현하면 된다. 맨 처음에는 IndexError 가 났었다. (IndexError가 났었던 코드) stack = [] while(True): line = input() if(line == "."): break for s in line: if s == "(" or s == "[": stack.append(s) elif s == ")": if stack[-1] == "(": stack.pop() else: break elif s == "]":..

[백준/알고리즘/python/java] 9012번 - 괄호

괄호 문제는 스택 문제중에서도 흔한 유형에 속한다. 여는 괄호와 닫힌 괄호가 쌍을 이루고, 짝이 맞는다면 올바른 괄호 문자열 (Valid PS, VPS) 인 것이다. (코드는 아래와 같다.-파이썬,python) import sys input = sys.stdin.readline testcase = int(input()) for i in range(testcase): bracket = [] stack = [] command = input() bracket.append(command) for j in command: if j == "(": stack.append(j) elif j == ")": if(len(stack) == 0): break else: stack.pop(-1) if(j == command[-..

[백준/알고리즘/python/java] 10773번 - 제로

전형적인 스택 문제이다. 파이썬에서는 스택을 구현할 때, 리스트를 활용하여 push 역할은 append() 로 구현하고 pop 역할은 pop() 으로 구현하면 된다. (코드는 아래와 같다. -python) k = int(input()) sum = 0 number_list = [] for i in range(k): n = int(input()) if n == 0: # 입력된 수가 0 이면 pop number_list.pop(-1) else: number_list.append(n) for answer in number_list: sum += answer print(sum) pop() 안에 따로 인덱스 인자를 안 넣어주면 맨 끝의 원소를 빼준다. (pop(-1) 이나 pop()이나 같은 역할이다.) (아래는 ..

반응형