Home
개발자로 살아남기
Cancel

[BOJ 1926] 그림

그림 (1926번) https://www.acmicpc.net/problem/1926 풀이방법 Queue를 이용해 방문하지 않았으면서 해당 위치의 값이 1인 좌표를 추가한다. 현재 위치가 방문하지 않았고 1이라면 넓이를 1 증가시킨 후 Queue에 넣는다. poll로 Queue에 있는 값을 가져와 상하좌우 비교한다. import ja...

[BOJ 10773] 제로

제로 (10773번) https://www.acmicpc.net/problem/10773 풀이방법 스택을 이용해 입력값이 0인 경우 pop을 하고 0이 아니라면 해당 값을 push한다. import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamRe...

[BOJ 5397] 키로거

키로거 (5397번) https://www.acmicpc.net/problem/5397 풀이방법 스택을 구현한다. 처음에는 자바 내장 클래스를 이용했지만 속도가 느려서 배열로 직접 간단히 구현했다. 1000ms -> 740ms로 줄어들었다. 입력 데이터를 하나씩 분석한다. <문자일 ...

프로세스 메모리 구조

프로세스 메모리 구조 메모리 구조 스택(Stack) 함수의 파라미터, 함수 반환 위치, 지역변수 등을 임시로 저장하는 공간으로, 함수가 리턴되면 함수 내에서 사용되던 지역변수들은 스택에서 사라지며 컴파일 타임에 스택의 크기가 정해진다. 정확히는 스택에 쌓인 데이터들이 사라지는 것이 아니라 현재 스택의 최상위 위치를 가리...

[BOJ 10807] 개수 세기

개수 세기 (10807번) https://www.acmicpc.net/problem/10807 풀이방법 입력값을 모두 받고 v와 동일한 값을 체크함 import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.uti...

[BOJ 3273] 두 수의 합

두 수의 합 (3273번) https://www.acmicpc.net/problem/3273 풀이방법 a[i]와 a[j]를 더한 값이 최대 2백만이므로, 배열의 크기를 2백만으로 주었음 배열 인덱스에 입력받은 값을 주어 해당 인덱스에 1을 설정 x-i를 하면 i일때 x가 되기 위한 값이 나오므로 arr[x-i]를 이용 arr[i] =...

[BOJ 1475] 방 번호

방 번호 (1475번) https://www.acmicpc.net/problem/1475 풀이방법 0~9 배열을 1로 초기화 입력값을 하나씩 가져와 숫자로 변환 후 숫자에 해당하는 배열에 1뺌 6, 9인 경우 6 또는 9의 개수를 1뺌 배열의 숫자가 0인 경우 한세트가 더 필요하므로 0~9까지 각각 1씩 더한 ...

반가산기와 전가산기

디지털논리회로 1) 논리게이트 - AND: 두 개의 입력이 모두 참(true)일 때만 참(true)이 된다. - OR: 두 개의 입력 중 하나라도 참(true)일 경우에만 참(true)이 된다. - INVERTER (NOT): 입력값이 반전된 값이 출력된다. - NAND (NOT AND): AND의 반대로, 입력값이 모두 ...

시간복잡도와 공간복잡도

시간복잡도 (Time Complexity) 입력 데이터가 특정 알고리즘을 거쳐 결과가 나오는데 걸리는 시간을 의미한다. 시간은 정확히 몇 초가 걸린다는 의미가 아닌 데이터의 증가에 따른 시간(연산속도)의 증가 정도를 말한다. 시간복잡도는 대입연산, 사칙연산, 비교구문, 함수호출등의 연산을 기준으로 계산한다...

자료구조와 알고리즘

자료구조와 알고리즘 자료구조가 무엇인지 위키를 확인해보면 자료구조는 효율적인 접근 및 수정을 가능하게 하는 자료의 조직, 관리, 저장을 의미한다고 나와있다. 위의 말 그대로 자료를 어떻게 구성(조직)할 것이고 어떤 방식으로 관리하고 저장할 것인지를 말한다. 자료구조는 알고리즘과 밀접한 관계를 맺고 있는데, 한가지 간단한 예를 들어보면 다음과 ...