본문 바로가기

Coding

(195)
1431번 시리얼 번호 어떻게 해야 간단하게 풀 수 있을까 고민하다가 그냥 냅다 풀었다.
패리티 비트 패리티 비트는 정보를 주고 받을때 오류가 생겼는지 검사하기 위해 추가된 비트. ex) 10101010(1바이트, 그 중 맨 앞의 1비트가 패러티 비트) 짝수 패리티 : 전체 비트에서 1의 갯수가 짝수가 되도록 함. 홀수 패리티 : 전체 비트에서 1의 갯수가 홀수가 되도록 함. ps. 오류의 발생 여부는 확인가능하지만 수정할 수는 없다.
시뮬레이션 시뮬레이션이란? 시뮬레이션은 주어진 조건에 맞춰 문제의 답을 구하는 간단하면서도 어려운 문제다. 간단한 시뮬레이션 ex) 백준 2455번, 1094번 조금 복잡한 시뮬레이션 ex) 14503번 풀어보면 "아, 이게 시뮬레이션이구나" 하고 이마를 칠 수 있을듯.
문자셋의 종류 문자셋 SBCS(Single Byte Character Set) : 한 바이트로 한 문자를 표현하는 문자 코드(ex, ASCII) DBCS(Double Byte Character Set) : 기존 문자뿐만 아니라 특별 문자나 기호 또한 표현하기 위한 문자 코드(ex, ANSI 확장형) MBCS(Multi Byte Character Set) : SBCS + DBCS (ex, EUC-KR, CP949) WBCS(Wide Byte Character Set) : 모든 문자를 표현할 수 있는 확장형 문자 집합(ex, UTF-8)
아스키 코드와 유니 코드 ASCII 코드 : 미국에서 정의한 문자체계. 1바이트, 즉 8비트로 이루어져있으며 1비트(패리티 비트, 오류 검사하는 비트)를 제외한 7비트로 128개 문자를 표현한다. ANSI 코드 : ASCII 코드를 사용하다가 부족해서 비트를 추가하여 만든 코드. UNICODE : 영어를 제외한 다른 문자들을 추가적으로 표현하기 위해 만든 코드. 2바이트, 즉 16비트로 이루어져있으며 65536개 만큼의 문자를 표현할 수 있다.
2293번 동전1 DP 문제를 오랜만에 풀려니 헷갈렸다. 구해야하는 값을 k, 동전 갯수를 n이라고 할때 그 값을 dp[n][k]라고 표현하자. 주어진 예시처럼 n=3,k=10이라면 dp[10][3]라고 쓸 수 있다. dp[10][3]을 어떻게 구할 수 있을까? 반대로 생각해보면 된다. 마지막 1동전이 남았을때 dp[10-동전(1)][3], 2동전이 남았을때 dp[10-동전(2)][3], 동전3이 남았을때 dp[10-동전(3)][3]이라고 표현할 수 있고 이를 다 더하면 dp[10][3] 값이 된다. 즉, dp[10][3]=dp[9][3]+dp[8][3]+dp[5][3]이라고 나타낼 수 있다. 이때 뒤의 배열 3개는 동전 갯수를 그냥 보여주기 위한 값이고 다시 정리하자면 dp[10] = dp[10-동전(1)]+dp[10-..
2161번 카드1 간단한 시뮬레이션 문제.
1966번 프린터 큐 쉬운 문제인데 조금 많이 헤맨 문제. 우선순위 큐를 사용해서 답을 구하면 되는데 pair로 인덱스까지 끌고가서 정렬을 하다보니 복잡해졌다. ->우선순위만 알면 되기 때문에 인덱스를 알 필요가 없어 제거했더니 금방 풀렸다.