전체 글

전체 글

    [운영체제] Deadlock 교착상태란 ?

    여러분 안녕하세요~ Hyun's story입니다! 최근에 비동기 기술에 대해 많이 알고 하고 싶어서 관련 기술들을 많이 찾아보았습니다. 비동기와 운영체제와 깊은 연관이 있다는 것을 깨닫고, 운영체제 책을 구입하고, 운영체제 강의를 다운받아서 공부중에 있습니다~ 이번에는 교착상태 개념에 대해 설명해드릴려고 합니다. 비동기로 스레드를 Concurrent하게 사용하고 아래에 설명해드릴 4가지 조건( Mutual Exclusive, Hold and wait, No-Presumption, Circular wait)이 충족이 되면 위와 같이 데드락 상황이 발생한다고 하네요. 교착상태..교착상태...가 뭐지라고 생각했는데, 운영체제 강의를 보고 이해를 했습니다. 위의 사진과 같이 프로세스가 자원을 요청하는데 또 다른..

    [백준 17090] 미로 탈출하기 C++

    https://www.acmicpc.net/problem/17090 17090번: 미로 탈출하기 크기가 N×M인 미로가 있고, 미로는 크기가 1×1인 칸으로 나누어져 있다. 미로의 각 칸에는 문자가 하나 적혀있는데, 적혀있는 문자에 따라서 다른 칸으로 이동할 수 있다. 어떤 칸(r, c)에 적힌 문� www.acmicpc.net 오늘은 Gold 2 난이도를 가지는 미로 탈출하기 문제 풀이를 하려고 합니다. Gold 2난이도라고 해서 큰 맘먹고 문제를 풀었는데, 생각외로 10분만에 문제를 풀어버렸습니다.. 대단한건아니지만....문제 길이도 짧고 규칙성을 바로 찾아서 바로 풀게 되었습니다. 문제에서 각 적힌 칸에서 U, R, D, L, 문자 그대로 (Up, Right, Down, Left)방향으로 이동해서 ..

    [백준 12931] 두 배 더하기 C++

    https://www.acmicpc.net/problem/12931 12931번: 두 배 더하기 모든 값이 0으로 채워져 있는 길이가 N인 배열 A가 있다. 영선이는 다음과 같은 두 연산을 수행할 수 있다. 배열에 있는 값 하나를 1 증가시킨다. 배열에 있는 모든 값을 두 배 시킨다. 배열 B가 주� www.acmicpc.net 문제풀이 0으로 채워진 배열에서 1. 배열 중 하나의 값을 1 증가 2. 배열의 모든 값을 두배 시킴 의 방법을 사용해서 입력으로 주어진 배열을 찾는데 최소 횟수를 구하는 문제인데, 역으로 입력으로 주어진 배열에서 0으로 채워지게 하려면 최소 몇번을 구해야하는지로 바꿔서 풀었습니다. 다행이도, 2배와 1추가는 홀짝으로 구분할 수 있기 때문에, 모든 배열이 0을 만나지 않는 한 무..

    [백준 16987] 계란으로 계란치기 C++

    https://www.acmicpc.net/problem/16987 16987번: 계란으로 계란치기 원래 프로그래머의 기본 소양은 팔굽혀펴기를 단 한 개도 할 수 없는 것이라고 하지만 인범이는 3대 500을 넘기는 몇 안되는 프로그래머 중 한 명이다. 인범이는 BOJ에서 틀린 제출을 할 때마다 턱 www.acmicpc.net 문제풀이 계란으로 계란치기 문제의 경우, 글을 해석하느라 시간이 조금 오래걸렸습니다. 생각 보다 문제에 도움이 안되는 말이 앞에 주절주절이 있고, 중간 설명하는 부분에 중요 포인트가 많은데 처음 읽었을 때 확실하게 안와닿는 부분이 많았습니다. 먼저, 문제에서 말한대로 계란의 정보를 가져오는데, 저는 struct로 대입했습니다. (뭔가 구조안에 넣어서 체계적으로 만들고 싶은 생각?) ..

    [백준 17069] 파이프 옮기기 2 C++ (Bottom-up 방식)

    https://www.acmicpc.net/problem/17069 17069번: 파이프 옮기기 2 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net 이번에는 앞에서 포스트 올린 다이나믹 Top-down방식이 아닌, Bottom-up 방식으로 다이나믹 문제를 풀어보겠습니다. Top-down은 아래 링크를 참고 하시면 됩니다. https://rolypolytoy.tistory.com/17 [백준 17069] 파이프 옮기기 2 C++ (Top-down 방식) https://www.acmicpc.net/problem/1706..

    [백준 17069] 파이프 옮기기 2 C++ (Top-down 방식)

    https://www.acmicpc.net/problem/17069 17069번: 파이프 옮기기 2 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net 파이프 옮기기 1에 이어 이번에는 파이프 옮기기 2를 풀이하려고 합니다. 문제풀이 앞에서 나온 '파이프 옮기기 1'의 경우, 출력 조건에 '방법의 수는 항상 1,000,000보다 작거나 같다.'의 조건이 있어 1초 이내로 다 풀 수 있는 문제였습니다. 브루트 포스로 경우의 수를 다 지정하여 갈 수 있는 모든 방법을 다 탐색하면 됐었습니다. 하지만, 이번에는 입력 값이 무려..