zynar의 등록된 링크

 zynar로 등록된 티스토리 포스트 수는 263건입니다.

[백준 1018번 문제, 파이썬3] 체스판 다시 칠하기 [내부링크]

문제 문제 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 지민이는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져 있는 M×N 크기의 보드를 찾았다. 어떤 정사각형은 검은색으로 칠해져 있고, 나머지는 흰색으로 칠해져 있다. 지민이는 이 보드를 잘라서 8×8 크기의 체스판으로 만들려고 한다. 체스판은 검은색과 흰색이 번갈아서 칠해져 있어야 한다. 구체적으로, 각 칸이 검은색과 흰색 중 하나로 색칠되어 있고, 변을 공유하는 두 개의 사각형은 다른 색으로 칠해져 있어야 한다. 따라서 이 정의를 따르면 ..

[백준 2908번 문제, 파이썬3] 상수 [내부링크]

문제 문제 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다. 상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다. 두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다. 출력 첫째 줄에 상수의 대답을 출력한다..

[백준 1546번 문제, 파이썬3] 평균 [내부링크]

문제 문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. 출력 첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의..

[백준 2577번 문제, 파이썬3] 숫자의 개수 [내부링크]

문제 문제 세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오. 예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다. 입력 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. 출력 첫째 줄에는 A × B × C의 결과에 0 이 몇 번 쓰였는지 출력한다. 마찬가지로 둘째 줄부터 열 번째 줄까지 A × B × C의 결과에 1부터 9까지의 숫자가..

[백준 3052번 문제, 파이썬3] 나머지 [내부링크]

문제 문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 출력 첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다. 코드 print(len(set([i % 42for i in[int(input())for _ in range(10)]]))) 해결 먼저 10개를 숫자로 입력을 받고 그걸 42로 나눠서 set에 넣는다..

[백준 2475번 문제, 파이썬3] 검증수 [내부링크]

문제 문제 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들어간다. 검증수는 고유번호의 처음 5자리에 들어가는 5개의 숫자를 각각 제곱한 수의 합을 10으로 나눈 나머지이다. 예를 들어 고유번호의 처음 5자리의 숫자들이 04256이면, 각 숫자를 제곱한 수들의 합 0+16+4+25+36 = 81 을 10으로 나눈 나머지인 1이 검증수이다. 입력 첫째 줄에 고유번호의 처음 5자리의 숫자들이 빈칸을 사이에 두고 하나씩 주어진다. 출력 첫째 줄에 검증수를 출력한다. 코드 import sys line = map(int, sys.stdin.readline().spl..

[백준 10809번 문제, 파이썬3] 알파벳 찾기 [내부링크]

문제 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. 코드 answer = [-1 for _ in range(26)] # 출력할 배열을 -1로 초기화 line =..

반복하지 않는 수, 중복되지 않는 수, 0부터 9까지 순열 만들기 코드 [내부링크]

0부터 9까지 총 10개의 숫자로 만들 수 있는 순열의 개수는 8877690개이다. 아래 코드는 반복하지 않는 수를 txt 파일로 저장하는 파이썬 코드이다. from itertools import permutations, chain, islice import math def make_no_repeats(length): my_iter = permutations(range(10), length) no_zero_start_index = math.perm(9, length - 1) no_lead_zeros = islice(my_iter, no_zero_start_index, None) return no_lead_zeros if __name__ == '__main__': my_list = [] iter_no_re..

[백준 1362번 문제, 파이썬3] 펫 [내부링크]

문제 문제 당신은 게임으로 펫을 기르고 있습니다. 이 펫은 웃는 표정, 슬픈 표정을 가지고 있으며, 만약 죽는다면 '드러눕습니다.' 펫에게는 적정 체중이 있습니다. 펫의 실제 체중이 적정 체중의 1/2배를 초과하면서 적정 체중의 2배 미만이라면 펫은 행복합니다. 펫의 실제 체중이 0 이하일 경우 펫은 사망하게 되며, 그 외의 경우 펫은 슬픕니다. 당신은 콘솔을 통해 펫에게 아래의 두 가지 작용을 할 수 있습니다. 'E'와 숫자를 입력해 펫을 운동시킬 수 있습니다. 입력된 숫자(n)만큼의 시간(분; minute)이 지나면 펫의 실제 체중이 n 감소합니다. 'F'와 숫자를 입력해 펫에게 먹이를 줄 수 있습니다. 입력된 숫자(n)만큼 펫에게 먹이를 주면 펫의 실제 체중이 n 증가합니다. 각 작용에 입력할 수 ..

[백준 7696번 문제, 파이썬3] 반복하지 않는 수 [내부링크]

문제 문제 한신이는 어릴 때부터 수에 대한 관심이 남달랐으나 이상하게도 같은 숫자를 두 번 이상 쓰는 것을 굉장히 싫어했다. 그래서 한신이에게 첫 번째 수부터 25번째까지의 수를 적어 보라고 하면 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, . . . 과 같이 적어 내었다. n번째 반복 숫자 없는 수를 만들어 보자! 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스에는 정수 n(1 ≤ n ≤ 1,000,000)이 주어진다. n = 0인 경우 프로그램을 종료한다. 출력 각 테스트 케이스마다 n번째 반복 숫자 없는 수를 출력한다. 코드 from itertools imp..

[백준 2953번 문제, 파이썬3] 나는 요리사다 [내부링크]

문제 문제 "나는 요리사다"는 다섯 참가자들이 서로의 요리 실력을 뽐내는 티비 프로이다. 각 참가자는 자신있는 음식을 하나씩 만들어오고, 서로 다른 사람의 음식을 점수로 평가해준다. 점수는 1점부터 5점까지 있다. 각 참가자가 얻은 점수는 다른 사람이 평가해 준 점수의 합이다. 이 쇼의 우승자는 가장 많은 점수를 얻은 사람이 된다. 각 참가자가 얻은 평가 점수가 주어졌을 때, 우승자와 그의 점수를 구하는 프로그램을 작성하시오. 입력 총 다섯 개 줄에 각 참가자가 얻은 네 개의 평가 점수가 공백으로 구분되어 주어진다. 첫 번째 참가자부터 다섯 번째 참가자까지 순서대로 주어진다. 항상 우승자가 유일한 경우만 입력으로 주어진다. 출력 첫째 줄에 우승자의 번호와 그가 얻은 점수를 출력한다. 코드 result =..

[백준 2238번 문제, 파이썬3] 경매 [내부링크]

문제 문제 경매는 여러 사람이 하나의 물건을 사려고 할 때, 각 사람이 원하는 가격을 제시하면 그 중 가장 높은 가격으로 물건을 팔게 되는 방식이다. 이러한 고전적인 경매 방식은 꽤 널리 쓰이는데, 최근에는 인터넷 쇼핑몰에서 반대의 경매 방식을 택하기도 한다. 즉, 여러 사람이 가격을 제시하면, 그 중 가장 낮은 가격으로 물건을 팔게 되는 방식도 쓰인다. 하지만 이럴 경우, 모든 사람들이 1원에 물건을 사겠다고 하는 사태가 발생할 수 있다. 따라서 같은 가격을 제시한 사람이 둘 이상일 경우에는 무효로 하는 방식이 쓰인다. 하지만 모든 가격을 여러 사람이 제시하는 경우도 있을 수 있기 때문에, 다음과 같은 방식으로 경매 당첨자를 선택하기로 한다. 우선 가장 적은 수의 사람이 제시한 가격을 찾는다. 이러한 ..

[백준 1449번 문제, 파이썬] 수리공 항승 [내부링크]

문제 문제 항승이는 품질이 심각하게 나쁜 수도 파이프 회사의 수리공이다. 항승이는 세준 지하철 공사에서 물이 샌다는 소식을 듣고 수리를 하러 갔다. 파이프에서 물이 새는 곳은 신기하게도 가장 왼쪽에서 정수만큼 떨어진 거리만 물이 샌다. 항승이는 길이가 L인 테이프를 무한개 가지고 있다. 항승이는 테이프를 이용해서 물을 막으려고 한다. 항승이는 항상 물을 막을 때, 적어도 그 위치의 좌우 0.5만큼 간격을 줘야 물이 다시는 안 샌다고 생각한다. 물이 새는 곳의 위치와, 항승이가 가지고 있는 테이프의 길이 L이 주어졌을 때, 항승이가 필요한 테이프의 최소 개수를 구하는 프로그램을 작성하시오. 테이프를 자를 수 없고, 테이프를 겹쳐서 붙이는 것도 가능하다. 입력 첫째 줄에 물이 새는 곳의 개수 N과 테이프의 ..

[백준 1157번 문제, 파이썬3] 단어 공부 [내부링크]

문제 문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. 코드 my_dict = dict() letters = input().upper() for i in letters: my_dict[i] = my_dict.get(i, 0) + 1 max_value = max(my_dict.values()) if list(my_dict.val..

[백준 2675번 문제, 파이썬3] 문자열 반복 [내부링크]

문제 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다. 입력 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. 출력 각 테스트 케이스에 대해 P를 출력한다 코드 count =..

[백준 11654번 문제, 파이썬3] 아스키 코드 [내부링크]

문제 문제 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. 입력 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다. 출력 입력으로 주어진 글자의 아스키 코드 값을 출력한다. 코드 print(ord(input())) 해결 생각 참고 링크

[백준 2920번 문제, 파이썬3] 음계 [내부링크]

문제 문제 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8부터 1까지 차례대로 연주한다면 descending, 둘 다 아니라면 mixed 이다. 연주한 순서가 주어졌을 때, 이것이 ascending인지, descending인지, 아니면 mixed인지 판별하는 프로그램을 작성하시오. 입력 첫째 줄에 8개 숫자가 주어진다. 이 숫자는 문제 설명에서 설명한 음이며, 1부터 8까지 숫자가 한 번씩 등장한다. 출력 첫째 줄에 ascending, descending, mixed 중 하나를 출력한다. 코드 line = list..

[백준 8958번 문제, 파이썬3] OX 퀴즈 [내부링크]

문제 문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O와 X만으로 이루어져 있다. 출력 각 테스트 케이스마다 점수를 출력한다. 코드 count = int(input()) for i in range(count): ..

[백준 11720번 문제, 파이썬3] 숫자의 합 [내부링크]

문제 문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. 출력 입력으로 주어진 숫자 N개의 합을 출력한다. 코드 count = int(input()) # 카운트 line = map(int, input()) # 숫자 sum = 0 for i in line: sum += i print(sum) 해결 참고 링크

비주얼베이직 계산기 만들기 코드 (후위 표기법) [내부링크]

비주얼베이직 수업 시간에 했던 후위 표기법을 이용한 사칙연산 계산기 과제이다 코딩 공부를 할 때 보통 if else 문을 이용한 계산기 만들기를 자주 할것인데 우리가 일반적으로 사용하는 계산기랑은 다른걸 그냥 봐도 알것이다 아래 방법은 우리가 일반적으로 사용하는 계산기를 만들어보는 방법이다 1 + 5 * 3 을 계산하려고 한다면 우리는 해당 수식을 바꿔야한다 이 때 배열과 스택을 사용하는데 배열에는 숫자, 스택에는 연산자를 넣는다고 생각하면 된다 예를 들어보자 1 + 5 * 3 - 2 라는 수식을 계산해야한다 우리는 연산자 우선순위에 의해서 곱하기를 먼저하고 그 다음 + 나 -를 하는 것을 알고 있다 그래서 다음과같은 규칙을 적용한다 수식을 문자열이라고 하자 문자열의 0번째 인덱스부터 읽기 시작하는데 1..

[인공지능 학습 노트] 파이썬 UCS 구현 상태 공간 그래프에 대한 균일 비용 탐색 알고리즘 [내부링크]

균일 비용 탐색 UCS (Uniform Cost Search) 정의 무정보 탐색 알고리즘의 한 종류, 최소 경로 비용을 기준으로 아직 방문하지 않은 노드를 탐색하는 기법 무정보 탐색이란 상태공간에 대한 아무런 정보 없이 정해진 순서에 따라 진행 하며 얻은 정보만 활용하여 탐색하는 방법 최소 경로 비용이란 우선 UCS에서 경로 비용이란 시작 노드에서 현재 노드까지 발생되는 모든 비용의 합이다. 예를 들면 시작노드 A 노드에서 C 노드로 갈 때 발생하는 비용은 4이다. 그리고 D 노드를 가는데 C 노드를 통해서 가게 되었다면 A -> C -> D 즉 7이다. 노드를 탐색할 때 방문되지 않은 노드의 경로 비용들에서 가장 최소가 되는 노드를 선택하여 탐색하는 방법이 최소 경로 비용을 선택하는 것 즉, 균일 비용..

[운영체제 학습 노트] 스레드 매핑, 스케줄링 기법 라운드로빈, 스레드 동기화 [내부링크]

멀티스레딩 매핑 N:1 장점 : 속도가 빠르다 단점 : 병렬성을 얻을 수 없다 1:1 장점 : 높은 병렬성 단점 : 컨텍스트 스위칭 등의 비용 부담이 크다 N:M 장점 : 커널 레벨 스레드가 적어 커널 부담이 적다 단점 : 매핑 스케줄링 과정이 복잡하다 멀티 스레드 운영체제에서 PCB에 저장하는것 환경 컨텍스트, 모든 스레드가 공유하는 프로세스의 정보 TCB에 저장하는것 실행 컨텍스트, 현재 실행중인 실행단위 정보 CPU 스케줄링 정의 Ready 상태의 스레드를 선택하여 cpu 할당 목적 cpu 유휴 시간을 줄여 cpu 활용률 향상 프로세스가 i/o를 요청하면 다른 프로세스에게 cpu 할당 CPU 스케줄링 선택 기준 = CPU 스케줄링 목적 1. CPU 활용률 향상 2. CPU 처리율 향상 3. 응답시간..

[운영체제 학습 노트] 프로세스와 스레드, 프로세스 관리 [내부링크]

프로세스 프로그램과 프로세스의 차이 프로그램: 저장장치에 저장된 실행 가능한 파일 프로세스: 프로그램이 메모리에 적재되어 실행중일 때 운영체제의 프로세스 관리 1. 운영체제는 프로그램을 메모리에 적재하고 프로세스로 다룬다. 2. 프로세스들은 독립적인 메모리 공가늘 가지며 다른 프로세스의 영역에 접근할 수 없다. 3. 운영체제는 프로세스마다 고유한 번호 PID를 할당받는다. 4. 프로세스 정보는 커널에 의해 관리된다. 5. 운영체제 커널은 시스템 전체에 하나의 프로세스 테이블을 두고 모든 프로세스를 관리한다. 6. 프로세스를 실행할 때 프로세스제어블록 PCB를 생성하여 프로세스 정보를 저장한다. 구성 1. 코드영역 2. 데이터영역 3. 힙영역 4. 스택영역 프로세스 주소 공간 = 사용자 공간 + 커널 공간..

[운영체제 학습 노트] 운영체제와 커널의 자원 독점 관리, 자원 접근의 문제점 [내부링크]

운영체제 정의 사용자와 컴퓨터 사이에서 중계 역할을 하면서 프로그램의 실행을 관리하고 제어하는 시스템 소프트웨어 또는 인터페이스 목적 1. 자원을 독점 관리하여 자원 충돌 해결 및 효율적 사용과 관리 2. 시스템 성능 최적화 및 효율화 3. 편리한 사용자 인터페이스 제공 기능 1. CPU/프로세스 관리 2. 메모리 관리 3. 파일 시스템 관리 4. 장치 관리 5. 사용자 인터페이스 제공 운영체제의 발전 1. 폰노이만의 내장프로그램 운영체제 CPU와 메모리를 분리 하드웨어와 소프트웨어를 분리 실행할 프로그램을 메모리에 적재 후 CPU가 프로그램을 실행 2. 원시 운영체제 로더 프로그램을 메모리에 적재 사용자 프로그램을 메모리에 적재 CPU가 사용자 프로그램을 실행 3. 배치 운영체제 펀치카드를 한번에 하나..

2023년 USG 스마트제조ICT 코딩테스트 경진대회 참여 후기 [내부링크]

원래 참여하고 다음날 쓰려고 했는데.. 어쩌다 보니 이제서야 쓰게 되었네요 복수전공으로 usg 스마트제조 ict에서 공부를 하고 있습니다 뭔가 많이 하네요.. 코딩 경진대회를 한다고 해서 참여했습니다. 학생들 대회 참여하라고 코딩 교육도 시켜주고 정말 좋습니다. 행사 전에 온라인으로 파이썬 교육을 들었었는데 파이썬 교육을 들인게 정말 크게 도움되었습니다. 생각보다 알고리즘 푸는것도 재밌었고 잘 모르던 파이썬 문법을 다시 재정비할수있는 좋은 기회였거든요 코테 장소는 창원! 창원 컨벤션센터는 어릴때 말고는 기억이 없습니다 당일 일정은 강사님께서 코딩테스트 사전교육을 해주시고 2시간 동안 테스트를 보는 방식이었습니다 온라인으로도 교육을 듣고 이렇게 당일 행사 장소에서도 파이썬으로 교육을 들었네요 교육을 들으면..

[백준 1181번 문제, python] 단어 정렬 [내부링크]

문제 문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 단, 중복된 단어는 하나만 남기고 제거해야 한다. 입력 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. 출력 조건에 따라 정렬하여 단어들을 출력한다. 코드 count = int(input()) input_list = set() for _ in range(count): input_list.add(input()) for i in sorted(list(input_list), key=lambda ..

[백준 1152번 문제, C] 단어의 개수 [내부링크]

문제 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 302070 95671 76555 32.413% 문제 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 입력 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다. 코드 #define _CRT_SECURE_NO_WARNINGS #include #include // strlen (문자열 길이 체크용) #inclu..

토익 600 ~ 700 기초 학습 노트 (6) 동명사 [내부링크]

동명사 주어, 목적어, 보어로서 동사 + ing 형태로 사용된다 동명사의 역할과 동명사 목적어 동명사의 역할 1. 동사 + ing 형태로 to부정사와 함께 준동사에 포함된다 2. 문장 내에서 주어, 동사, 전치사의 목적어, 그리고 보어의 역할을 한다 3. 명사 앞에서 뒤에오는 명사를 수식하는 형용사로 쓰일 수도 있다(명사 뒤에는 사용할 수 없음..?) 주어 Smoking is not allowed in the building. 이 건물에서 담배를 피우는 것은 허락되지 않는다. * 동명사 주어는 항상 3인칭 단수 취급하기 때문에 단수 동사를 쓴다. 동사의 목적어 Mr. Jackson suggested having a meeting this week. Jackson 씨는 이번 주에 회의를 열자고 제안했다. ..

[백준 1969번 문제, Python3] DNA [내부링크]

문제 문제 DNA란 어떤 유전물질을 구성하는 분자이다. 이 DNA는 서로 다른 4가지의 뉴클레오티드로 이루어져 있다(Adenine, Thymine, Guanine, Cytosine). 우리는 어떤 DNA의 물질을 표현할 때, 이 DNA를 이루는 뉴클레오티드의 첫글자를 따서 표현한다. 만약에 Thymine-Adenine-Adenine-Cytosine-Thymine-Guanine-Cytosine-Cytosine-Guanine-Adenine-Thymine로 이루어진 DNA가 있다고 하면, “TAACTGCCGAT”로 표현할 수 있다. 그리고 Hamming Distance란 길이가 같은 두 DNA가 있을 때, 각 위치의 뉴클오티드 문자가 다른 것의 개수이다. 만약에 “AGCAT"와 ”GGAAT"는 첫 번째 글자와..

BFS, DFS, 최선우선탐색, 휴리스틱 알고리즘, a* 알고리즘 3X3 8퍼즐 공부 [내부링크]

퍼즐 맞추기인데 교수님이 억까 코드로 실습하라고 했음... 그래서 일단 억까코드 수정하고 저렇게 만들어봤는데 bfs는 교수님 원본 코드에서 딱히 바뀐건 없고 주석이랑 조건문 위치랑 moves 프린트 수정했고 dfs는 실습이었는데 저렇게 만드는게 맞나 모르겠다.. 일단 무한적으로 탐색하던건 조건문 위치랑 조건 수정해서 고쳐졌고 set으로 중복체킹하는데 시간복잡도 O(1)로 수정함 BFS class State: def __init__(self, board, goal, moves=0): self.board = board self.moves = moves self.goal = goal # i1과 i2를 교환하여서 새로운 상태를 반환한다. def get_new_board(self, i1, i2, moves): n..

[백준 1485번 문제, Python3] 정사각형 [내부링크]

문제 문제 네 점이 주어졌을 때, 네 점을 이용해 정사각형을 만들 수 있는지 없는지를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 네 줄로 이루어져 있으며, 점의 좌표가 한 줄에 하나씩 주어진다. 점의 좌표는 -100,000보다 크거나 같고, 100,000보다 작거나 같은 정수이다. 같은 점이 두 번 이상 주어지지 않는다. 코드import math class Line: x1, y1, x2, y2 = 0, 0, 0, 0 length = 0 def __init__(self, a, b): self.x1 = a[0] self.y1 = a[1] self.x2 = b[0] self.y2 = b[1] self.length = math.sqrt((self.x1..

자바 양방향 그래프 dfs - 2차원 행렬, 반복문, 스택, LinkedHashSet [내부링크]

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String[] line = reader.readLine().split("\\s+"); // 7, 8 int vertex = Integer.parseInt(line[0]); // 노드 int edge = Integer.parse..

운영체제 (1) ~ (3) 주차 학습 노트 [내부링크]

운영체제 실체가 있는 소프트웨어 사용자와 하드웨어 사이에서 중계 역할을 하면서, 프로그램의 실행을 관리하고 제어하는 시스템 소프트웨어 컴퓨터의 자원을 독점적으로 관리하는 소프트웨어 운영체제의 속성 컴퓨터 자원 관리 하드웨어 자원 - CPU, 캐시, 메모리, 키보드, 마우스.... 소프트웨어 자원 - 응용프로그램 데이터 자원 - 파일, DB 자원 독점 독점 : 자원에 대한 접근과 관리 권한이 오직 운영체제에 있다는 뜻 (자원 할당, 자원 공유, 자원 액세스, 자원 입출력) 관리자 프로그램 관리, 메모리 관리 소프트웨어 커널(관리 기능을 수행하는 핵심 코드), UI, 도구 프로그램 운영체제 목적과 기능 운영체제의 목적(목표) 사용자의 컴퓨터 사용 편리성 자원의 효율적 사용과 관리 운영체제 기능 CPU/프로세..

자료구조와 알고리즘 학습 노트 기초 (3) 자료구조 및 알고리즘 리스트 [내부링크]

ADT 추상적 자료구조 데이터의 논리적인 모습을 추상화하여 표현하는 자료구조이다. 내부 구현 방법은 숨기고, 데이터가 어떻게 사용될 수 있는지 정의한다. 즉, 데이터의 추상화를 통하여 자료구조의 기능에 집중할 수 있는 개념 리스트, 스택, 큐 등등 배열: 타입이 같은 데이터를 묶는 자료구조 구조체: 타입이 다른 데이터를 묶는 자료구조

[프로그래머스 1Level, Java] 신고 결과 받기 [내부링크]

문제 : 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다. 다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "..

[프로그래머스 1Level, Python3] 신고 결과 받기 [내부링크]

문제 : 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다. 다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고, k = 2(..

안드로이드 스튜디오 자바 구글 tts 사용하기 [내부링크]

간단하게 안드로이드 스튜디오에서 구글 tts를 사용하여 원하는 글을 소리로 변환하는 방법에 대해 알아보겠습니다 정말 간단하게 내가 원하는 글을 변환하기 위해 입력폼을 만들어줍니다 package com.zynar.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.Button; import android.widget.EditText; public class MainActivity extends AppCompatActivity { private EditText etTTS; private Button btnExecute; @Override protected voi..

[백준 1051번 문제, JAVA] 숫자 정사각형 [내부링크]

문제 N×M크기의 직사각형이 있다. 각 칸에는 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 또는 열에 평행해야 한다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import static java.lang.System.exit; public class Main { public static void main(String[] args) throws IOException { final BufferedReader br = new Buffe..

토익 600 ~ 700 기초 학습 노트 (5) to부정사 [내부링크]

동명사 동사 + ing 형태로 to부정사와 함께 준동사에 포함된다 문장 내에서 주어, 동사, 전치사의 목적어, 보어 역할을 한다 주어 Smoking is not allowed in the building. 이 건물에서 담배를 피우는 것은 허락되지 않는다. * 동명사 주어는 항상 3인칭 단수 취급하기 때문에 단수 동사를 쓴다. 동사의 목적어 Mr. Jackson suggested having a meeting this week. Jackson 씨는 이번 주에 회의를 열자고 제안했다. 전시사의 목적어 We succeeded in solving the difficult problem. 우리는 그 어려운 문제를 푸는데 성공했다. 보어 My job is supervising the local staff. 내가 맡..

프로그래밍 입문 학습 노트 (1) [내부링크]

컴퓨팅 사고란? 1. 컴퓨터가 효과적으로 문제를 해결할 수 있도록 문제를 정의하고 그에 대한 답을 기술하는 일체의 사고 과정 2. 복잡한 문제를 단순한 문제로 분해한 후 이를 해결하기 위한 구조(알고리즘)을 만드는 과정 프로그래밍 언어 저급언어, 고급언어 소스코드 c, 자바, 파이썬 같은 프로그래밍 언어로 작성한 코드 목적코드 이진수로 이루어졌으며, 소스코드를 컴파일 또는 인터프리터를 통해 변환해야함 소프트웨어 개발 과정 문제분석 - 설계 - 프로그래밍 - 테스트 - 사용 - 유지보수 컴퓨팅 사고의 4단계 1. 문제분해 - 복잡한 문제를 작은 문제로 구분 2. 패턴인식 - 문제들 사이에 일정한 패턴 찾기 3. 일반화 - 다양한 문제의 공통된 해결 방법 모델링 4. 알고리즘 - 구체적인 순서와 방법을 개발..

자료구조와 알고리즘 학습 노트 기초 (2) 재귀와 귀납적 사고 [내부링크]

복습 추상 데이터타입 (ADT : Abstract Data Type) 데이터나 연산이 무엇인가는 정의되지만 데이터나 연산을 컴퓨터 상에서 어떻게 구현하는가는 정의되지 않는다 재귀 (순환) 알고리즘이나 함수가 수행 도중 자기 자신을 다시 호출하여 문제를 해결하는 기법 * Good 정렬, 탐색 * Bad 피보나치수, 최적 행렬곱 경로 ex. 팩토리얼의 정의 (n!) def factorial(n): if n = 5 * 4 * factorial (3) -> ...... -> = 5 * 4 * 3 * 2 * 1 = 120 재귀호출의 가장 중요한 것은 재귀 호출을 멈추는 부분이 있어야한다 만약 없다면? 무한호출 순환 vs 반복 시간 복잡도가 동일할 때 어떤 것이 더 효율적인가? 바로 공간의 차이 프로그램의 중요도 ..

[백준 1076번 문제, JAVA] 저항 [내부링크]

문제 전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다. 처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다. 저항의 값은 다음 표를 이용해서 구한다. 색값곱 black 0 1 brown 1 10 red 2 100 orange 3 1,000 yellow 4 10,000 green 5 100,000 blue 6 1,000,000 violet 7 10,000,000 grey 8 100,000,000 white 9 1,000,000,000 예를 들어, 저항의 색이 yellow, violet, red였다면 저항의 값은 4,700이 된다. 코드 import java.io.*; import java.util.ArrayList; import java.util.Lis..

[백준 1019번 문제, JAVA] 책 페이지 [내부링크]

문제지민이는 전체 페이지의 수가 N인 책이 하나 있다. 첫 페이지는 1 페이지이고, 마지막 페이지는 N 페이지이다. 각 숫자가 전체 페이지 번호에서 모두 몇 번 나오는지 구해보자.코드import java.io.*; import java.util.Arrays; public class Main { public static void main(String[] args) throws IOException { final BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int a = 1; int b = Integer.parseInt(br.readLine()); int[] counts = new int[10]; int digit = 1..

토익 600 ~ 700 기초 학습 노트 (5) to부정사 [내부링크]

to 부정사 문장에서 주어, 목적어, 보어, 부사 등의 역할을 한다. to + 동사원형 형태 to 부정사의 문장 역할 주어 역할 To consider customers' needs is critical at this point. 고객의 요구를 고려하는 것은 이 시점에서 매우 중요하다. * to부정사 주어는 보통 가주어 it으로 대체되고 문장 맨 뒤로 옮겨지는 경우가 많다 * It is critical to consider customers' needs at this point. * to부정사가 주어로 나올 때는 단수 명사로 받아친다. * 여기서 ' 기호는 복수명사의 소유격을 나타낸다. * 일반적으로 명사 뒤에 s를 붙이면 소유격을 의미하는데 복수명사도 s를 붙여야해서 * 의미 혼란이 생기는 것을 방지하기..

[백준 1057번 문제, JAVA] 토너먼트 [내부링크]

문제 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 한다. 이긴 사람은 다음 라운드에 진출하고, 진 사람은 그 라운드에서 떨어진다. 만약 그 라운드의 참가자가 홀수명이라면, 마지막 번호를 가진 참가자는 다음 라운드로 자동 진출한다. 다음 라운드에선 다시 참가자의 번호를 1번부터 매긴다. 이때, 번호를 매기는 순서는 처음 번호의 순서를 유지하면서 1번부터 매긴다. 이 말은 1번과 2번이 스타를 해서 1번이 진출하고, 3번과 4번이 스타를 해서 4번이 진출했다면, 4번은 다음 라운드에서 번호 2번을 배정받는다. 번호를 다시 배정받은 후에 한 명만 남을 때까지 라운드를..

[백준 1032번 문제, JAVA] 명령 프롬프트 [내부링크]

문제 시작 -> 실행 -> cmd를 쳐보자. 검정 화면이 눈에 보인다. 여기서 dir이라고 치면 그 디렉토리에 있는 서브디렉토리와 파일이 모두 나온다. 이때 원하는 파일을 찾으려면 다음과 같이 하면 된다. dir *.exe라고 치면 확장자가 exe인 파일이 다 나온다. "dir 패턴"과 같이 치면 그 패턴에 맞는 파일만 검색 결과로 나온다. 예를 들어, dir a?b.exe라고 검색하면 파일명의 첫 번째 글자가 a이고, 세 번째 글자가 b이고, 확장자가 exe인 것이 모두 나온다. 이때 두 번째 문자는 아무거나 나와도 된다. 예를 들어, acb.exe, aab.exe, apb.exe가 나온다. 이 문제는 검색 결과가 먼저 주어졌을 때, 패턴으로 뭘 쳐야 그 결과가 나오는지를 출력하는 문제이다. 패턴에는 ..

토익 600 ~ 700 기초 학습 노트 (4) 명사 대명사 [내부링크]

명사 명사는 주어, 목적어, 보어의 역할을한며, 가산 명사, 불가산 명사로 나눌 수 있다. 주어 역할 (은, 는, 이가) Applications should be submitted by the end of the week. 지원서는 이번 주 말까지 제출되어야 한다. 목적어 역할 (을, 를) You should send your application by the end of the week. 보어 역할 What we need at the moment is your participation. 우리가 지금 필요로 하는 것은 당신의 참여입니다. 가산 명사, 불가산 명사 불가산 명사는 a(an), -s 를 쓰면 안된다 * 가산 명사는 너무 많기 때문에 불가산 명사를 외우자 * 불가산 명사에서 중요한 것 : sta..

토익 600 ~ 700 기초 학습 노트 (3) 수동태 능동태 [내부링크]

동사에 따른 수동태 능동태는 주어가 행위의 주체지만, 수동태는 행위의 영향을 받는 대상이 주어가 된다. 수동태 만들기 주어와 목적어의 위치를 바꾸고, 동사는 be + v-ed 형태로 고친다. 능동태의 주어는 by + 주어를 쓰고 생략 가능하다 능동태 The company recoreded the conference call. 회사는 컨퍼런스콜을 녹음했다. 수동태 The conference call was recoreded by the company. 컨퍼런스콜이 회사에 의해 녹음되었다. 동사 시제 별 수동태 형태 현재시제 record -> is/are recorded 현재진행시제 is recording -> is being recorded 동사에 따른 수동태 4형식 동사의 수동태 목적어가 두 개인 4형식..

프로그래밍 입문 학습 노트 (1) [내부링크]

컴퓨터 기초 과거 사람들의 계산 방법 주판 -> 천공 카드 -> 기계식 계산기 -> 컴퓨터 컴퓨터의 발전 단계 역사 1세대 2세대 3세대 4세대(~ 현재) 5세대(미래~) 6세대 진공관 트랜지스터 직접 회로 (IC) 고밀도 직접회로 인공지능과 대화 자기 코어 자기코어 IC, 자기 코어 vlsi, lsi 음성 명령 자기 드럼 자기 디스크 자기 디스크 자기 디스크 초고속 장치 천공 카드 천공 카드 키보드, 마우스 대규모 병령처리 시스템 애니악, 에드박 IBM 논리적 추론을 지원하는 연산기능 기계어, 어셈블리어 포트란, 코볼 파스칼, 베이직 객체지향언어 논리프로그램, 인공지능기법, 병렬처리 개념을 내포하는 추상적 언어 제공 다중 프로그래밍 방식 소프트웨어 체계 확립 운영체제 방식 시분활, 바이트 단위 컴퓨터 ..

[백준 2477번 문제, JAVA] 참외밭 [내부링크]

문제 시골에 있는 태양이의 삼촌 댁에는 커다란 참외밭이 있다. 문득 태양이는 이 밭에서 자라는 참외가 도대체 몇 개나 되는지 궁금해졌다. 어떻게 알아낼 수 있는지 골똘히 생각하다가 드디어 좋은 아이디어가 떠올랐다. 유레카! 1m2의 넓이에 자라는 참외 개수를 헤아린 다음, 참외밭의 넓이를 구하면 비례식을 이용하여 참외의 총개수를 구할 수 있다. 1m2의 넓이에 자라는 참외의 개수는 헤아렸고, 이제 참외밭의 넓이만 구하면 된다. 참외밭은 ㄱ-자 모양이거나 ㄱ-자를 90도, 180도, 270도 회전한 모양(, , 모양)의 육각형이다. 다행히도 밭의 경계(육각형의 변)는 모두 동서 방향이거나 남북 방향이었다. 밭의 한 모퉁이에서 출발하여 밭의 둘레를 돌면서 밭경계 길이를 모두 측정하였다. 예를 들어 참..

토익 600 ~ 700 기초 학습 노트 (2) 시제 [내부링크]

현재시제 be 동사는 am/are/is 1인칭, 2인칭 일 때 일반 동사는 동사 원형이 사용되나 3인칭인 경우 -s(es)를 붙여서 표현한다. usually, normally 현재시제 보통 *시간, 조건의 부사절 (when, after, if) -> 현재시제 대신 미래시제를 쓴다 When Mr. Calvert retires, a new marketing director will be appointed. retires -> will retire [o] Calvert 씨가 은퇴할 때, 새 마케팅 책임자가 임명될 것이다. 과거시제 & 미래시제 be동사는 was/were를 쓰고, 일반동사는 -ed를 붙이거나 불규칙 과거동사를 쓴다. 미래시제는 will이나 be going to 뒤에 동사원형을 써서 표현한다. (..

[백준 1000번 문제, JAVA] 네 번째 점 [내부링크]

문제 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Main { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); Li..

토익 600 ~ 700 기초 학습 노트 (1) 주어와 동사 [내부링크]

주어 주어 자리에는 명사/대명사/to부정사/동명사/명사절 등등이 올 수 있다. 명사 주어 Applications shuld be received no later than this Monday. 지원서는 늦어도 이번 일요일 까지는 접수되어야 한다. 대명사 주어 You are not supposed to use a cell phone during the meeting. 당신은 미팅 중에는 휴대폰을 사용할 수 없다. 명사구 주어 A protective helmet should be worn at all times. (형용사 + 명사) 보호 헬멧은 항상 착용해야 한다. People in the lobby are visiting from Celta Consulting Group. (명사 + 전치사구) 로비에 있는..

파이썬 학습 노트 기초 (1) [내부링크]

파이썬의 연산자 연산자 뜻 + 더하기 - 빼기 * 곱하기 / 나누기(소수점) ** 제곱 // 몫 % 나머지 () 괄호 안을 먼저 연산 파이썬의 변수 변수 이름 뒤 등호(=)로 값을 저장한다 C언어나 JAVA 처럼 자료형을 지정해주지 않는다 변수 이름은 대/소문자, 숫자, 밑줄로 사용 대소문자는 구분됨 파이썬의 변수 네이밍룰은 소문자로 _ 를 사용하여 구분하여 사용한다고 한다 출력 print(변수), print("hello") def print_hi(name): print("I like", end='') print(" money") if __name__ == '__main__': print_hi('PyCharm') 판단 파이썬의 참 값은 True, 거짓 없은 False ==, !=, , = 와 같은 비교 ..

[백준 1100번 문제, JAVA] 하얀 칸 [내부링크]

문제 체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램을 작성하시오. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new..

자료구조와 알고리즘 학습 노트 기초 (1) 자료구조와 알고리즘 [내부링크]

자료구조 데이터를 저장, 조직, 관리하는 방법 책들이 난잡하게 어질러져있음 -> 책을 카테고리에 맞게 분류 자료구조의 일상 생활과 프로그래밍 문제 해결과의 차이 건축물을 만들려면 : 건축 재료(철근, 시멘트, 벽돌)의 이해가 필요. 샤시, 철골, 인터넷 연결 구조 프로그래밍 : 데이터 구조와 모듈의 이해가 필요. 리스트, 스택, 트리 구조 즉 상황에 맞게 어떤 자료구조를 사용할지 판단해야함 자료구조의 종류 배열, 리스트, 스택, 큐, 그래프, 트리, 최대 힙, 행렬.... 선형 자료구조 :리스트, 스택, 큐 색인 자료구조 :검색트리(이진 검색트리, 균형 검색 트리), 해시 테이블 효율적인 자료구조 :우선순위 큐: 힙 관계 처리 자료구조 :그래프 알고리즘 문제 해결 과정을 묘사하는 것 문제 해결 절차를 체..

윤년 구하는 함수 [내부링크]

static boolean isLeapYear(int year) { return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0); } c/c++ 이면 boolean 대신에 int를 쓰면 됨

[백준 1094번 문제, JAVA] 막대기 [내부링크]

문제 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대를 만들려고 한다. 막대를 자르는 가장 쉬운 방법은 절반으로 자르는 것이다. 지민이는 아래와 같은 과정을 거쳐서 막대를 자르려고 한다. 지민이가 가지고 있는 막대의 길이를 모두 더한다. 처음에는 64cm 막대 하나만 가지고 있다. 이때, 합이 X보다 크다면, 아래와 같은 과정을 반복한다. 가지고 있는 막대 중 길이가 가장 짧은 것을 절반으로 자른다. 만약, 위에서 자른 막대의 절반 중 하나를 버리고 남아있는 막대의 길이의 합이 X보다 크거나 같다면, 위에서 자른 막대의 절반 중 하나를 버린다. 이제, ..

[백준 1026번 문제, JAVA] 보물 [내부링크]

문제 옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[0] × B[0] + ... + A[N-1] × B[N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다. S의 최솟값을 출력하는 프로그램을 작성하시오. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import..

[JAVA 자바] 숫자 자릿수 구하는 코드 방법 2가지 n번째 숫자 구하기 [내부링크]

자릿수 구하기 "자릿수"는 어떤 숫자의 n번째에 위치한 숫자를 말한다 1의 자리, 10의 자리 이런걸 말한다 예를들어 숫자의 가장 오른쪽에 위치한 숫자를 1번째 자수라고 하자 숫자 "54321"의 숫자에서 가장 오른쪽에 위치한 숫자는 1이다 그러면 위 숫자에서 1번째 숫자는 1이라고 하는 자리수를 가진것이다 자릿수를 어디부터 할지는 인터넷에서 찾아보니 사람마다 각각인 것 같다 아래에서는 가장 일반적인 방법으로 가장 오른쪽에 위치한 숫자를 1번째 자리수라고 할거다 프로그래밍 언어에서 숫자의 자리수를 구하는 방법에는 언어마다 차이가 있을거다 파이썬은 배열의 값을 구하는 방법으로 num[n]만 해도 바로 구해지지만 그렇지 못한 언어를 사용할때는 어떻게 해야하는가 아래에서는 자바 코드에서 숫자의 n번째 자릿수를..

자바 TCP/IP 소켓 통신 서버, 클라이언트 만들기 코드 [내부링크]

일이 있어서 자바 TCP/IP 소켓 통신 방식에 대해 잠시 공부를 했다 전에 파이썬 플라스크로 HTTP 서버를 제작했었는데 이번에는 자바의 'java.net' 패키지에서 제공하는 Socket 클래스를 이용해서 만드는 통신 서버를 만들어봤다 몇 달전에 네트워크관리사 2급 공부를 하면서 TCP랑 UDP의 차이 그리고 동기, 비동기 방식의 차이를 달달 외우기 까지 했었는데 이제와서 기억나지 않는걸 보니 내가 치매거나 제대로 공부하지 않았거나겠네 그래도 네트워크관리사2급 필기는 합격했다 ㅎㅎ Java에서 소켓 통신은 클라이언트와 서버 간의 네트워크 통신을 가능하게 하는 API입니다. Java에서 소켓 통신은 java.net 패키지에서 제공됩니다. 소켓 통신은 일반적으로 클라이언트와 서버 사이의 양방향 통신을 지..

[백준 1027번 문제, JAVA] 고층 건물 [내부링크]

문제 세준시에는 고층 빌딩이 많다. 세준시의 서민 김지민은 가장 많은 고층 빌딩이 보이는 고층 빌딩을 찾으려고 한다. 빌딩은 총 N개가 있는데, 빌딩은 선분으로 나타낸다. i번째 빌딩 (1부터 시작)은 (i,0)부터 (i,높이)의 선분으로 나타낼 수 있다. 고층 빌딩 A에서 다른 고층 빌딩 B가 볼 수 있는 빌딩이 되려면, 두 지붕을 잇는 선분이 A와 B를 제외한 다른 고층 빌딩을 지나거나 접하지 않아야 한다. 가장 많은 고층 빌딩이 보이는 빌딩을 구하고, 거기서 보이는 빌딩의 수를 출력하는 프로그램을 작성하시오. 입력: 첫째 줄에 빌딩의 수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에 1번 빌딩부터 그 높이가 주어진다. 높이는 1,000,000,000보다 작거나 같은 자연수이다. ..

[자바 JAVA] Server Socket 소켓 통신 한글 깨짐 해결 BufferedReader, InputStreamReader, PrintWriter, OutputStreamWriter.... JDK한글깨짐, 자바한글깨짐 [내부링크]

보통 자바 소켓 통신에서 한글이 깨져서 출력될 때는 코드에 인코딩이 제대로 안되어 있으면 한글이 깨질 가능성이 높다고 한다. 그래서 서버와 클라이언트 모두 UTF-8 인코딩 설정을 해줘야하지만... BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine(); // 클라이언트와 연결된 Socket 객체에서 OutputStream을 얻어옴 OutputStream out = clientSocket.getOutputStream(); // PrintWriter 객체를 사용하여 클라이언트로 메시지를 전송함 PrintWriter writer = new PrintWriter(new OutputS..

[백준 1003번 문제, JAVA] 피보나치 함수 [내부링크]

문제 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { final BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[][] lists = new int[41][2]; lists[0] = new int[]{1, 0}; lists[1] = new int[]{0, 1}; for(int i=2; i

[백준 1038번 문제, JAVA] 제곱 ㄴㄴ 수 [내부링크]

문제 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] input = br.readLine().split(" "); long min = Long.parseLong(input[0]); long max = Long.parseLong(input[1]); boolean[] eratosthenes = new..

[백준 1085번 문제, JAVA] 직사각형에서 탈출 [내부링크]

문제 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Collections; import java.util.List; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] input = br.readLine().split(" "); int x = Integer.parseInt..

[백준 1004번 문제, JAVA] 어린 왕자 [내부링크]

문제 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); List answerList = new ArrayList(); int n = Integer.parseInt(br.readLine()); for (int i = 0; i ..

[백준 1001번 문제, JAVA] A-B [내부링크]

문제 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String[] input = reader.readLine().split(" "); System.out.println(Integer.parseInt(input[0]) - Integer.parseInt(input[1])); } } 해결 참고 https:/..

[백준 1000번 문제, JAVA] A+B [내부링크]

문제 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String[] input = reader.readLine().split(" "); System.out.println(Integer.parseInt(input[0]) + Integer.parseInt(input[1])); } } 해결 입력 받고 더하면 ..

[백준 1075번 문제, JAVA] 나누기 [내부링크]

문제 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(reader.readLine()); n = n - n % 100; int f = Integer.parseInt(reader.readLine()); while (true) { if (n % f == 0) { S..

[백준 1002번 문제, JAVA] 터렛 [내부링크]

문제 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(reader.readLine()); List answers = new ArrayList(); for (int i = 0; i < n; i++) { String[] token..

2023년 USG 스마트제조ICT 전공 OT, 진로설계 캠프 후기 [내부링크]

사람들이 USG 공유대학이라고 알고 있을까 모르겠다 나도 작년까지는 몰랐는데 2학년 2학기에 학교에 설명회를 오셨고 그때 알게 되었다 인공지능이라던가 빅데이터라던가 새로운걸 배울 수 있다고 한다 흥미가 생겼다 노력만 한다면 경남에서 신입 월급 300 받게 해 주겠다고 했다 솔깃했다 고등학생 때 학교에서 선생님이 너는 꼭 복수전공이든 부전공이든 해라고 하셨고 진로 컨설팅 선생님께서도 같은 말씀을 하셔서 살짝 호감이 갔는데 같은 과 동기 친구들도 한다면 같이한다고 해서 신청했고 면접 후 합격했다 면접 때 실수한 기억밖에 없지만 결과적을 잘된 거면 잘됐지 뭐 며칠 전 수강신청을 했고 이번학기에 23학점을 듣게 되었다 할 수 있을지 없을지 모르겠고 할 거다 그래서 스마트제조ICT OT 및 진로설계 캠프를 한다고..

개발자 기업 공고 모집 앱 - 대학교 교내 동아리 대회 GNU개척동아리 참여 후기 [내부링크]

거의 한 학기를 이것에 신경을 쓰게 되었었다 동아리 활동, 보고서 및 회의록 제작부터 제출, 의견 통일 등등 그렇다고 학교는 쉬는가 놉 학교 시험도 신경 써야 한다 하지만 가장 신경 쓰이는 것은 처음 기획한 것보다 기대치에 못 미치는 활동을 하는 그런 자신을 볼 때마다 힘들었다 동아리를 만들고 팀장으로서 팀원들과 의사소통하는 것이 마냥 쉽지 않다는 것은 당연히 알지만서도 다시금 느끼게 된다 동아리를 끝내고 다른 사람들과 프로젝트를 진행하고 있는데 거기서 노션이라던가 https://www.notion.so/ko-kr 내 위키, 문서, 프로젝트를 모두 한 곳에 사용하는 모든 업무 앱을 Notion 하나에 담아 팀원들과 함께하는 올인원 워크스페이스를 꾸려 보세요. www.notion.so 미로라던가 https..

[Java] 안드로이드 채팅 화면을 리사이클러뷰와 뷰바인딩을 이용해서 만들어보자 [내부링크]

요즘 코틀린으로 앱을 많이 만든다곤 한다... 하지만 이미 프로젝트를 자바로 만든지 오래되었고 학교에서는 자바를 쓰기 때문에 자바 실력 향상을 위해서라도 계속 자바로 만들려고 하는데 새로운 기능을 적용하는 예제는 거의 코틀린으로 올라와서 자바로 어떻게 적용해야할지 생각하느라 시간이 많이 들었다.. 암튼 이번에는 인터넷의 안드로이드 채팅 기능이 필요해서 찾아보면서 내 앱에 적용을 했는데 리사이클러뷰와 뷰바인딩을 사용했다 덕분에 공부를 좀 많이 한거같다 채팅을 만들려면 내가 입력한 채팅이 있을것이고 상대방이 입력한 채팅이 있을것이다 채팅의 데이터를 보관할 채팅 클래스를 만들어야하고 이 채팅을 보여줄 리사이클러뷰와 그 어댑터가 있어야할것이다 하나의 리사이클러뷰에서 내가 입력한 채팅인지 상대방이 입력한 채팅인지..

[프로그래머스 Level 2, Java] 삼각 달팽이 [내부링크]

문제 : 삼각 달팽이 풀이 방법 1. 자바는 일반적인 c 언어 형식의 2차원 배열이 존재하지 않는다는 것을 배웠다. 이것을 활용하여 피라미드 형태의 배열을 만들 수 있다. 2. 삼각 달팽이의 숫자는 반시계 방향으로 위에서부터 가장 끝에서 마지막으로 증가하며 이동한다 증가하는 값을 만들어 놓고 왼쪽라인 밑라인 오른쪽라인을 순서대로 배열에 대입하면 된다. 소스 코드 import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; class Solution { public int[] solution(int n) { int[] answer = {}; ArrayList lists = new ArrayList(); for(int i..

[프로그래머스 Level 2, Java] 이진 변환 반복하기 [내부링크]

문제 : 이진 변환 반복하기 풀이 방법 2진법 변환 메서드를 작성하려고 했다가, 최근에 자바 코드 작성 방법을 공부하는데 최대한 자바 API를 활용하라는 기억이 나서 2진 변환 메서드가 있는지 찾아봤다. 역시나 갓 자바는 2진 변환 메서드가 있어서 편하게 작성가능했고 String 안에 0이 있는지 확인해야 했는데 filter라는 메서드를 활용하니까 String 안에 0이 몇개 있는지 찾을 수 있었다. 소스 코드 class Solution { public int[] solution(String s) { int[] answer = {0, 0}; while (!s.equals("1")) { answer[0]++; answer[1] += (int)s.chars().filter(c -> c == '0').coun..

[프로그래머스 Level 2, Jave] 귤 고르기 [내부링크]

문제 : 귤 고르기 풀이 방법 해쉬맵으로 귤 종류가 몇개 있는지 분류하고 내림차순으로 정렬하는 리스트를 만든다 그리고 개수만큼 맞는지 확인 소스 코드 import java.util.*; class Solution { public int solution(int k, int[] tangerine) { int answer = 0; LinkedHashMap map = new LinkedHashMap(); for (int i:tangerine) { if(map.containsKey(i)) { map.put(i, map.get(i)+1); } else { map.put(i, 1); } } List entryList = new LinkedList(map.entrySet()); entryList.sort(Map.Ent..

[프로그래머스 Level 1, Java] 크기가 작은 부분문자열 [내부링크]

문제 : 크기가 작은 부분문자열 풀이 방법 문자열을 잘라서 비교해본다 런타임 에러가 날경우 Long 으로 바꾼다 소스 코드 class Solution { public int solution(String t, String p) { int answer = 0; for (int i=0; i= Long.parseLong(t.substring(i, i+p.length()))) { answer++; } } return answer; } }

Dodge : Avoid Balls 비주얼베이직 게임 만들기 공피하기 게임 [내부링크]

https://youtu.be/eUM16l_P8xc 비주얼베이직 베이직 언어로 만든 공피하기 게임입니다 다운로드 https://www.dropbox.com/s/h553u35eumgdqnh/AvoidBalls-basic.zip?dl=0 AvoidBalls-basic.zip Dropbox를 통해 공유함 www.dropbox.com 플레이화면 소스코드 https://github.com/wndudwkd003/VB-Rhythm-Avoid-Balls.git GitHub - wndudwkd003/VB-Rhythm-Avoid-Balls Contribute to wndudwkd003/VB-Rhythm-Avoid-Balls development by creating an account on GitHub. github.com

이진탐색트리 검색 추가 삭제 [내부링크]

TNode* search(TNode* n, int key) { if (n == NULL) return NULL; else if (key == n->data) return n; else if (key < n->data) return search(n->left, key); else return search(n->right, key); } int insert(TNode* r, TNode* n) { if (n->data == r->data) return 0; else if (n->data < r->data) { if (r->left == NULL) r->left = n; else insert(r->left, n); } else { if (r->right == NULL) r->right = n; else inse..

두근두근 자료구조 8장 연습문제 [내부링크]

1. 다음 트리에 대한 중위 순회 결과는? 4 2. 다음 트리를 전위 순회로 운행할경우 다섯 번째로 탐색되는 것은? 2 3. 다음 그림과 같은 이진트리를 후위 순회한 결과는? 4 4. 다음 트리에서 단말 노드 수는? 3 5. 다음 그림에서 트리의 차수는? 1 6. 메모리상에 배열로 저장할 때 가장 낭비가 큰 트리는? 1 7. 다음 중 같은 개수의 노드가 저장되는 경우, 가장 높이가 작아지는 트리는? 3 8. 다음 그림에서 트리의 차수와 단말 노드의 개수는? 2 9. 이진 트리에서 높이가 5일 때, 이 트리는 최대 몇 개의 노드를 가질 수 있는가? 4 10. 다음의 이진트리에 대하여 다음 질문에 답하여라. (1) 위의 트리를 1차원 배열로 표현하라. (2) 위의 트리를 전위 순회한 결과를 써라. 6, 4,..

이진트리 [내부링크]

#include #include typedef struct BinTrNode { char data; struct BinTrNode* left; struct BinTrNode* right; } TNode; typedef struct LinkedNode { TNode* data; struct LinkedNode* link; } Node_q; Node_q* front = NULL; Node_q* rear = NULL; int is_empty() { return front == NULL; } void init_queue() { front = rear = NULL; } int size() { Node_q* p; int count = 0; for (p = front; p != NULL; p = p->link) co..

선형덱 [내부링크]

#include #include #define MAX_QUEUE_SIZE 100 int data[MAX_QUEUE_SIZE]; int front; int rear; void init_queue() { front = rear = 0; } void add_rear(int val) { enqueue(val); } int delete_front() { return dequeue(); } int get_front() { return peek(); } int is_empty() { return front == rear; } int is_full() { return front == (rear + 1) % MAX_QUEUE_SIZE; } int size() { return (rear - front + MAX_QUEUE..

선형큐 [내부링크]

#include #include #define MAX_QUEUE_SIZE 100 int data[MAX_QUEUE_SIZE]; int front; int rear; void init_queue() { front = rear = 0; } int is_empty() { return front == rear; } int is_full() { return front == (rear + 1) % MAX_QUEUE_SIZE; } int size() { return (rear - front + MAX_QUEUE_SIZE) % MAX_QUEUE_SIZE; } void enqueue(int val) { if (!is_full()) { rear = (rear + 1) % MAX_QUEUE_SIZE; data[rear] =..

연결된큐 [내부링크]

#include #include #define MAX_QUEUE_SIZE 100 typedef struct LinkedNode { int data; struct LinkedNode* link; } Node; Node* front = NULL; Node* rear = NULL; void init_queue() { front = rear = NULL; } int is_empty() { return front == NULL; } int size() { Node* p; int count = 0; for (p = front; p != NULL; p = p->link) count++; return count; } void enqueue(int val) { Node* p = (Node*)malloc(sizeof(No..

연결리스트를 이용한 다항식을 계산하고 사용자가 입력한 문자열을 파싱하는 Polynominal 코드 만들기 [내부링크]

자료구조 수업에서 연결리스트를 이용한 다항식 계산 프로그램을 작성하라는 과제를 받았다. https://youtu.be/UviSUv21iB8 여기 유튜브에서 하는것과 비슷하게 만들면 될듯하다 기능 1. f = 5x 같은 문자열을 입력하면 f라는 Poly 클래스를 만들고 5x Term 클래스를 만들어 Poly에 연결한다. 2. f = 6x + 7x^2 같은 문자열을 한번 더입력하면 f 자리에 6x + 7x^2을 넣는다. 3. print f를 입력하면 f 함수를 출력한다. 4. calc f 2를 입력하면 f함수에 따른 2를 계산한 결과를 출력한다. 5. f = f + g를 입력하면 함수 f와 g를 계산한 함수를 저장한다. 연결리스트를 이용하여 메모리가 가능한 한도내에 무제한으로 저장할 수 있도록 만든다. 자바..

이것이 자바다 11장 확인 문제 답 - 신용권의 Java 프로그래밍 정복 [내부링크]

Object 클래스에 대한 설명 중 틀린 것은 무엇입니까? 4번 괄호 안을 채워보세요 hashCode(), equals() 해시코드를 리턴하세요 public class Student { private String studentNum; public Student(String studentNum) { this.studentNum = studentNum; } public String getStudentNum() { return studentNum; } @Override public boolean equals(Object obj) { if(obj instanceof Student) { Student student = (Student) obj; if(studentNum.equals(student.getStuden..

연결리스트 스택 [내부링크]

#define _CRT_SECURE_NO_WARNINGS #include #include typedef int Element; typedef struct { Element data; Node* link; }Node; Node* top = NULL; void error(const char str[]) { printf("%s\n", str); exit(1); } void init_stak() { top = NULL; } int is_empty() { return top == NULL; } int size() { Node* p; int count = 0; for (p = top; p != NULL; p = p->link) { count++; } return count; } void push(Element e)..

두근두근 자료구조 3장 (스택) 연습문제 [내부링크]

문자 A, B, C, D, E를 스택에 넣었다가 다시 꺼내어 출력하면 어떻게 되는가? 2. E, D, C, B, A 10, 20, 30, 40, 50을 스택에 넣었다가 3개의 항목을 삭제하였다. 남아 있는 항목은? 10, 20 스택에서 사용되는 정보의 입출력 방법은 무엇인가? 1. LIFO 다음 중 스택에 대한 올바른 설명을 모두 골라라. 3. 함수 호출시 복귀 주소를 저장하는데 사용된다. 4. 배열을 사용하여 구현할 수 있다. 다음 중 배열로 구현된 스택에서 공백상태에 해당하는 조건은? 또 포화상태에 해당되는 조건은? 1. top == -1 3. top == MAX_STACK_SIZE - 1 배열로 구현된 스택에 항목들을 삽입하고 삭제하는 연산은 시간 복잡도가 어떻게 되는가? o(1) 순서가 A, B,..

배열 스택 [내부링크]

#include #include #define MAX_STACK_SIZE 100 typedef int Element; Element data[MAX_STACK_SIZE]; int top; void error(const char str[]) { printf("%s\n", str); exit(1); } void init_stak() { top = -1; } int is_empty() { return top == -1; } int is_full() { return top == MAX_STACK_SIZE - 1; } int size() { return top + 1; } void push(Element e) { if (is_full) error("스택 포화 에러"); data[++top] = e; } Eleme..

두근두근 자료구조 2장 (배열과 구조체) 연습문제 [내부링크]

int a[10][20]에서 배열이 차지하는 메모리 공간의 크기는 얼마인가? int형은 4바이트라고 하자. 4. 800바이트 float a[100]으로 선언된 배열의 시작 주소를 1000번지라고 할 때, 배열의 10번째 요소의 주소는 몇 번지인가? 4. 1040번지 다음 배열 중에서 크기가 가장 큰 배열은? 2. double array2[10]; 크기가 10인 배열 two[]를 선언하고 여기에 2의 제곱 값들을 저장해보자. for 루프를 이용하여 two[] 배열의 전체 요소의 값을 출력하는 프로그램을 작성하라. #include int main() { int two[10]; for (int i = 0; i < 10; i++) { int tmp = 0; for (int u = 0; u = loc; i--) ..

두근두근 자료구조 1장 (자료구조와 알고리즘) 연습문제 [내부링크]

다음 중 선형 자료구조로 볼 수 없는 것은? 3. 트리 동일한 문제를 해결하는 알고리즘 A, B, C, D의 시간 복잡도가 다음과 같이 계산되었다고 하자. n이 충분히 크다고 할 때, 실행 시간이 적은 것부터 순서대로 나열해보라. A: O(n) B: O(n^2) C: O(nlogn) D: O(2^n) A < C < B < D 시간 복잡도를 빅오 표기법으로 나타내면? 3. o(n^2) 3개의 숫자 중에서 가장 큰 수를 찾는 알고리즘을 흐름도로 작성해보자. 다음의 빅오표기법들을 실행시간이 적게 걸리는 것부터 나열하라. o(1) < o(log n) < o(n) < o(n log n) < o(n^2) < o(2^n) < o(n!) 다음 코드의 시간 복잡도는 어떻게 되는가? o(n^2) 다음 코드의 시간 복잡도는..

[프로그래머스 Level 0, Python3] 문자열 밀기 [내부링크]

문제 : 문자열 밀기 풀이 방법 문자열을 밀어서 있으면 밀었던 횟수를 반환 아니면 -1 반환 소스 코드 def solution(A, B): answer = -1 tmpList = ['' for i in range(len(A))] for i in range(len(A)): for u in range(len(A)): if u+i >= len(tmpList): tmpList[u+i - len(tmpList)] = A[u] else: tmpList[u+i] = A[u] if ''.join(tmpList) == B: answer = i break return answer

이것이 자바다 10장 확인 문제 답 - 신용권의 Java 프로그래밍 정복 [내부링크]

예외에 대한 설명 중 틀린 것은? 4번 try-catch-finally 블록에 대한 설명 중 틀린 것은? 3번 throws에 대한 설명으로 틀린 것은 무엇입니까? 4번 throw에 대한 설명으로 틀린 것은 무엇입니까? 2번 메소드가 있을 때 예외를 잘못 처리한 것은 무엇입니까? 3번 다음 코드가 실행되었을 때 출력 결과는 무엇입니까? 10 숫자로 변환할 수 없음 10 인덱스를 초과했음 10 로그인 기능을 Member 클래스의 login() 메소드에서 구현하려고 합니다. 존재하지 않는 Id를 입력했을 경우 예외를 발생시키고 빈칸을 채워보세요 super(message); super(message); throws NotExisIDException, WrongPasswordException); throw new..

[c/c++] Mirth 콘솔 게임 리듬게임 만들기 [내부링크]

c/c++ 프로그래밍 언어를 이용하여 콘솔 화면에서 동작하는 리듬게임을 만들었습니다. fmod 라이브러리를 사용합니다. https://github.com/wndudwkd003/Cpp_Console_Rythm_Game.git GitHub - wndudwkd003/Cpp_Console_Rythm_Game: C++ 수업 과제, 콘솔 게임 만들기 C++ 수업 과제, 콘솔 게임 만들기. Contribute to wndudwkd003/Cpp_Console_Rythm_Game development by creating an account on GitHub. github.com https://drive.google.com/file/d/1a2BvLjBVRvBdLhP5i1mbCCTzLehvQAZ_/view?usp=shar..

이것이 자바다 9장 확인 문제 답 - 신용권의 Java 프로그래밍 정복 [내부링크]

중첩 멤버 클래스,에 대한 설명으로 틀린 것은? 4번 로컬 클래스에 대한 설명으로 틀린 것은? 3번 익명 객체에 대한 설명으로 틀린 것은? 3번 멤버 클래의 객체를 생성하는 코드를 작성해보세요 Car myCar = new Car(); Car.Tire tire = myCar.new Tire(); Car.Engine engine = new Car.Engine(); 인터페이스의 익명 구현 객체를 이용해서 대입해보세요. public interface Vehicle { public void run(); } public class Anonymous { Vehicle field = new Vehicle() { @Override public void run() { System.out.println("자전거가 달립니다...

이것이 자바다 8장 확인 문제 답 - 신용권의 Java 프로그래밍 정복 [내부링크]

인터페이스에 대한 설명으로 틀린 것은? 3번 인터페이스의 다형성과 거리가 먼 것은? 4번 cat과 dog 클래스를 작성해보세요 public class Main { private static void printSound(Soundable soundable){ System.out.println(soundable.sound()); } public static void main(String[] args) { printSound(new Cat()); printSound(new Dog()); } public static class Cat implements Soundable { @Override public String sound() { return "야옹"; } } public static class Dog im..

이것이 자바다 7장 확인 문제 답 - 신용권의 Java 프로그래밍 정복 [내부링크]

자바의 상속으로 틀린 것은? 1번 클래스 타입 변환으로 틀린 것은? 2번 final 키워드에 대한 설명으로 틀린것은? 1번 오버라이딩에 대한 설명으로 틀린 것은? 4번 chile 클래스 생성자에서 에러가 발생한 이유는? this.name은 할수없다 super(name);이렇게 부모 생성자를 호출해야한다 Parent 클래스를 상속 받는 Child 클래스를 작성했다 출력 결과는? Parent(String nation) call Parent() call Child(String name) call Child() call Tire 클래스를 상속받아 SnowTire 클래스를 작성했다. 출력 결과는? 스노우 타이어가 굴러갑니다. 스노우 타이어가 굴러갑니다. 다음 클래스를 만들었을 때 빈칸에 들어올 수 없는 코드는 2..

이것이 자바다 6장 확인 문제 답 - 신용권의 Java 프로그래밍 정복 [내부링크]

하아... 이거 교수님이 한챕터 나갈때마다 확인문제를 과제로 내주시는데 힘들다... 객체와 클래스에 대한 설명으로 틀린 것은 무엇입니까? 3번 클래스의 구성 멤버가 아닌 것은 무엇입니까? 4번 필드, 생성자, 메소드에 대한 설명으로 틀린 것은 무엇입니까? 4번 필드에 대한 설명으로 틀린 것은 무엇입니까? 3번 생성자에 대한 설명으로 틀린 것은 무엇입니까? 1번 메소드에 대한 설명으로 틀린 것은 무엇입니까? 4번 메소드 오버로딩 메소드 오버로딩에 대한 설명으로 틀린 것은 무엇입니까? 2번 인스턴스 멤버와 정적 멤버에 대한 설명으로 틀린 것은 무엇입니까? 2번 인스턴스 멤버는 생성자에서는 사용 가능 정적 블록은 불가능 final 필드와 상수에 대한 설명으로 틀린 것은? 2번 static final 상수는 불..

2022 연구실 안전교육 답 [내부링크]

연구실안전법, 안전사고는 왜 일어나는가, 안전과 인간의 공학, 기본 실험 안전 수칙, 저위험 연구실의 안전관리, 연구실 지진 대응 매뉴얼 6개... 진짜 이런거 왜들어야하는지 모르겠지만 법정 교육이라고 하니까 들었음 연구실 안전환경 상태 등급에서 연구실 안전환경 또는 연구시설에 결함이 심하게 발견하여 사용에 제한을 가해야 하는 상태는 몇등급인가 4등급 연구실에서 지진이 발생하여 지진발생 후 흔들림이 멈추면 해야할 행동으로 옳지 않은 것은? 실험중인 유독화학물질은 시약 보관함, 흄후드 안에 보관한다. 사고가 발생할 때에는 눈에 보이는 대형사고 이전에는 수많은 잠재적인 위험이 계속해서 발생되어 왔다. O 다음 중 화재 안전 수칙으로 바람직 하지 않은 것은? 옷에 불이 붙으면 손으로 불이 붙은 부위를 덮어야한..

안드로이드 스튜디오 리사이클러뷰 체크박스 리스너 만들기 [내부링크]

체크박스 리스너를 왜만드냐 하면 일단 리사이클러뷰에 체크박스를 달아놨는데 그 체크박스를 프래그먼트나 액티비티에서 관리하고 사용할 수 있을 필요가 있기 때문이다... 그래서 몇가지 좀 찾아봤는데 해결이 안되어서 아무 생각 없이 안하고 있다가 오랜만에 바인딩을 없애고 다시 하니까 되네 에라이 ㅋㅋ 리사이클러뷰 만드는 방법은 다들 알테니넘어가고 리사이클러뷰에 인터페이스를 만들어야한다 리사이클러뷰에 인터페이스 만들기 인터페이스는 다른 파일로 따로 만들어도 되지만 귀찮으니 그냥 만듬 /* 리스너 인터페이스 구현부 */ public interface CheckBoxClickListener { void onClickCheckBox(int flag, int pos); } 이거를 리사이클러뷰 안에 아무곳이나 넣어주면 된..

이것이 자바다 5장 확인 문제 답 - 신용권의 Java 프로그래밍 정복 [내부링크]

참조 타입에 관한 설명으로 틀린 것은 무엇입니까? 4. 참조 타입은 null 값으로 초기화 할 수 없다. 자바에서 메모리 사용에 대한 설명으로 틀린 것은 무엇입니까? 3. 참조되지 않는 객체는 프로그램에서 직접 소멸 코드를 작성하는 것이 좋다. 갈비지 컬렉션이라고 하는 곳에서 자동으로 없애준다 String 타입에 대한 설명으로 틀린 것은 무엇입니까? 2. String 타입의 문자열 비교는 == 를 사용해야한다. equals() 메소드를 사용한다 String 타입의 == 비교는 주소를 비교하는 것이다 배열을 생성하는 방법으로 틀린 것은 무엇입니까? 2. int[] array; array = {1, 2, 3}; 첫 문장에서 에러난다. 배열의 기본 초기값에 대한 설명으로 틀린 것은 무엇입니까? 3. boole..

안드로이드 open failed: EACCES (Permission denied) 권한 다 했는데 진짜 해결 방법, 안드로이드 10 이상 [내부링크]

이 망할 오류 때문에 일단 3일 정도 시간 낭비를 했다 이 글을 보시는 분들은 다른 블로그를 보면서 대충 어떻게든 해봤는데도 안되어서 들어오신걸로 생각됩니다 그러니 세세하게 설명하지는 않을게요 android:requestLegacyExternalStorage="true" 일단 이거는 무조건 하셨을거고 이것도 하신분들도 있을겁니다 private static final int REQUEST_EXTERNAL_STORAGE = 1; private static final String[] PERMISSIONS_STORAGE = { Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE }; int permission ..

이것이 자바다 4장 확인문제(연습문제) 답 - 신용권의 Java 프로그래밍 정복 [내부링크]

조건문과 반복문의 종류를 괄호 ( ) 속에 넣어보세요. 조건문 : ( if ), ( switch ) 반복문 : ( for ), ( while ), ( do-while ) 조건문과 반복문을 설명한 것 중 틀린 것은 무엇입니까? 1. if문은 조건식의 결과에 따라 실행 흐름을 달리할 수있다. 2. switch문에서 사용할 수 있는 변수의 타입은 int, double이 될 수 있다. 3. for문은 카운터 변수로 지정한 횟수만큼 반복시킬 때 사용할 수 있다. 4. break문은 switch문, for문, while문을 종료할 때 사용할 수 있다. switch문은 double형 변수를 사용할 수 없다. byte, char, short, int, long, String 타입만 가능 for문을 이용해서 1부..

이것이 자바다 3장 확인문제(연습문제) 답 - 신용권의 Java 프로그래밍 정복 [내부링크]

연산자와 연산식에 대한 설명 중 틀린 것은 무엇입니까? 1. 연산자는 피연산자의 수에 따라 단항, 이항, 삼항 연산자로 구분된다. 2. 비교 연산자와 논리 연산자의 산출 타입은 boolean(true, false)이다. 3. 연산식은 하나 이상의 값을 산출할 수도 있다. 4. 하나의 값이 올 수 있는 자리라면 연산식도 올 수 있다. 4번은 삼항 연산자를 생각하면 쉽다. 다음 코드를 실행했을 때 출력 결과는 무엇입니까? public class Main { public static void main(String[] args) { int x = 10; int y = 20; int z = (++x) + (y--); System.out.println(z); } } 31 다음 코드를 실행했을 때 출력 결과는 무엇입..

안드로이드 csv 파일 선택해서 불러오기 [내부링크]

https://developer.android.com/training/basics/intents/result?hl=ko 활동에서 결과 가져오기 | Android 개발자 | Android Developers 활동에서 결과 가져오기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 개발자 앱 내의 활동이든 다른 앱의 활동이든 다른 활동을 시작하는 것이 단방향 작 developer.android.com ActivityResultLauncher mGetContent = registerForActivityResult(new GetContent(), new ActivityResultCallback() { @Override public void onActivityResult(Uri uri..

파이어베이스 안드로이드 사진 다운받기 getFile, FileOutputStream, BitmapFactory [내부링크]

파이어베이스 안드로이드 사진 다운받기 getFile, FileOutputStream, BitmapFactory 파일이 있는지 확인하고 없으면 파일 생성 다운로드한 파일은 비트맵 jpeg 압축 후 저장 /* 파일이 있는지 확인 */ File file = new File(getFilesDir(), "UserProfile"); if(!file.isFile()) { /* 파이어베이스 서버에서 프로필 이미지를 다운받음 */ try { /* 임시파일 생성 */ File tempFile = File.createTempFile("images", "jpeg"); StorageReference sgRef = FirebaseStorage.getInstance().getReference(); sgRef.child("UserA..

자바, 안드로이드 비밀번호, 닉네임 정규식 [내부링크]

비밀번호 6~18자리 private boolean checkPW(String pw) { Pattern pattern = Pattern.compile("^(?=.*[a-zA-Z])((?=.*\\d)(?=.*\\W)).{6,18}$"); Matcher matcher = pattern.matcher(pw); if(pw.contains(" ")) return false; else return !matcher.find(); } 닉네임 2~18자리 private boolean checkNickname(String nickName) { Pattern pattern = Pattern.compile("^[가-힣ㄱ-ㅎa-zA-Z0-9._]{2,18}$"); Matcher matcher = pattern.matcher(ni..

네이버 금융 주식 데이터 웹 크롤링 - 일별시세 csv파일에 저장하기 [내부링크]

파이썬으로 웹 크롤링 파이썬으로 빅데이터 공부를 하면서 웹 크롤링에 대해 배우게 되었다. 증시 관련 데이터를 크롤링 하려는데 네이버에서 증시 api는 제공하지 않는다. 그래서 html 태그에서 직접 크롤링을 해야했다. from bs4 import BeautifulSoup import requests import pandas as pd from selenium import webdriver import time 밑의 코드들은 위의 라이브러리를 사용한다. 종목 코드 크롤링 주식 데이터를 검색하려면 보통 종목코드를 입력하여 크롤링 하는것이 일반적이다. 하지만 일반 사람들에게는 삼성전자, 구글 이러한 이름이 익숙하기 때문에 먼저 종목 코드 부터 크롤링 할것이다. 크롬 네이버에서 삼성 전자를 검색하고 종목코드가 ..

[JAVA] 파이어베이스 안드로이드 회원가입, 로그인 이메일 인증 완료하기 [내부링크]

회원 가입 부분 FirebaseUser firebaseUser = firebaseAuth.getCurrentUser(); firebaseUser.sendEmailVerification() 위 코드를 firebaseAuth.createUserWithEmailAndPassword(email, pw) 밑에 넣는다. 즉, 계정을 생성하는 부분에 sendEmailVerification을 넣으면 된다. 로그인 인증 부분 if(firebaseAuth.getCurrentUser().isEmailVerified()) 로그인 조건문에 위 부분을 추가하면 된다.

일단 저장 [내부링크]

https://github.com/y-kim/monoplex

프로그래머스 PCCE 코딩필수역량인증시험 1회차 시험 후기 [내부링크]

프로그래머스에 자격증 시험이 나왔다고합니다! PCCP와 PCCE 두개의 종류가 있는데 전문가용은 PCCP 비전문가용은 PCCE로 분류를 할 수 있습니다 첫 시험인만큼 PCCE로 시험을 해볼 생각이었는데 지금까지 파이썬은 2년 넘게 손도 안대다가 어제 2시간 공부했나 별로 안했지만 그냥 해봤습니다 ㅋㅋ PCCE 1회 모의고사 https://zynar.tistory.com/171?category=1107728 프로그래머스 PCCE 모의고사 1회 문제 코드 정답 풀이 내일 프로그래머스 PCCE시험을 신청해놨는데 파이썬은 손땐지 2년이 넘어서 거의 백지상태라 약간 긴장도 되고 하네요. 그래서 미리 모의고사를 해봤는데 C++로는 바로 풀 수 있겠는데 파이썬 메 zynar.tistory.com https://cer..

프로그래머스 PCCE 모의고사 1회 문제 코드 정답 풀이 [내부링크]

내일 프로그래머스 PCCE시험을 신청해놨는데 파이썬은 손땐지 2년이 넘어서 거의 백지상태라 약간 긴장도 되고 하네요. 그래서 미리 모의고사를 해봤는데 C++로는 바로 풀 수 있겠는데 파이썬 메소드가 기억이 안나서 기억나는걸로만 풀었네요. 내일 9시에 하는데 잘 풀 수 있으면 좋겠습니다! 디버깅 1 num1 = 100 num2 = 200 # 출력 코드 print(num1 + num2) 빈칸 채우기 1 # 입력을 받는 코드입니다. 수정하지 말아주세요. num = int(input()) if num > 0: print("양수입니다") elif num == 0: print("0입니다") else: print("음수입니다") 빈칸 채우기 2 answer = 0 for num in range(10, 101, 2):..

안드로이드 스튜디오 한글화 설치 방법 - 한글 언어 팩 플러그인 [내부링크]

https://plugins.jetbrains.com/plugin/13711-korean-language-pack------ Korean Language Pack / 한국어 언어 팩 - IntelliJ IDEs Plugin | Marketplace The Korean Language Pack localizes the UI of IntelliJ IDEA, AppCode, CLion, DataGrip, GoLand, PyCharm, PhpStorm, RubyMine, and WebStorm into Korean. plugins.jetbrains.com 안드로이드 스튜디오 한글 언어 팩 플러그인 설치 방법 위 링크로 들어가서 플러그인을 다운 받아줍니다. Get 버튼을 누르면 버전이 나오는데 213.370로 설..

Food Guide 안드로이드 앱 - 공개SW 개발자대회 1차 출품작 접수, 개발 후기, 나만의 음식 다이어리 [내부링크]

약 한 달 동안 대학교 친구 한 명 이랑 해서 총 두 명에서 안드로이드 앱을 만들게 되었다. 공개SW 개발자대회에 참여를 목적으로 두고 진행을 했는데 만들다 보니 생각보다 앱을 만드는 것이 재밌어졌다! 9월 14일 까지 만든 앱을 공개SW 개발자대회 출품작 접수를 완료 했고 첫 협동 프로젝트라서 많이 부족하지만 무엇을 만들었는지 남기고 싶어서 글을 쓰게 되었다. 첫 프로젝트 작업이라 그런지 작업하는 방법을 몰라서 처음에는 힘들었지만 하다보니 git 사용법도 어느정도 알게되었고 협업 느낌을 알 수 있게 되었다. 역시 백문이 불여일견 직접 해보는 것이 도움이 되는것 같았다. 1. 나만의 음식 다이어리 Food Guide 소개 Food Guide는 나만의 음식 다이어리인데 인스타그램이 음식 이외에 여러 사진을..

[안드로이드][Java] Edit Text 글 입력 위에서부터 입력하기 [내부링크]

작업이나 공부를 하면서 막힌 부분을 해결했던 것, 알고 싶었던 것이나 알리고 싶은 것을 올리는 블로그입니다 최대한 검증은 하겠지만 100% 정확한 글이 아니므로 단순 참고만 해주시길 바랍니다 :) 사실 공부한거 블로그 주인장이 안까먹을려고 올리는거임 Edit Text 위에서 부터 입력하기 방법 android:gravity="top" Edit Text XML 속성에 gravity="top"을 주면 된다 참고로 android:padding="10dp" 패딩을 주면 자연스럽게 안쪽에서 텍스트를 입력할 수 있다 android:gravity="center_horizontal" center_horizontal을 주면 위의 중앙에서 부터 시작한다

[안드로이드][Java] 파이어베이스 스토리지 파일 업로드 및 다운로드 getDownloadUrl(), 파이어베이스 데이터 베이스 이미지 업로드 [내부링크]

작업이나 공부를 하면서 막힌 부분을 해결했던 것, 알고 싶었던 것이나 알리고 싶은 것을 올리는 블로그입니다 최대한 검증은 하겠지만 100% 정확한 글이 아니므로 단순 참고만 해주시길 바랍니다 :) 사실 공부한거 블로그 주인장이 안까먹을려고 올리는거임 파이어베이스 파이어베이스 데이터베이스에는 사진을 올릴 수 없으니 파이어베이스 스토리지에 업로드를 한 후 데이터베이스에는 파일의 다운로드 uri를 저장하여 사용한다 사진 선택하기 public class MainActivity extends AppCompatActivity { private Uri uri; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInsta..

[안드로이드][Java] Gson, 데이터베이스에 객체, 배열, 리스트 변환, 저장하기, json, array, list [내부링크]

작업이나 공부를 하면서 막힌 부분을 해결했던 것, 알고 싶었던 것이나 알리고 싶은 것을 올리는 블로그입니다 최대한 검증은 하겠지만 100% 정확한 글이 아니므로 단순 참고만 해주시길 바랍니다 :) 사실 공부한거 블로그 주인장이 안까먹을려고 올리는거임 Gson 데이터베이스에 객체나 배열을 직접 넣지는 못하고 String으로 변환해서 json형태로 넣어야 한다고 한다. Gson은 구글의 json 장인이 만들었다고 하는 오픈소스 api이며 이것으로 쉽게 json 형태를 변환할 수 있다 Gson Import https://github.com/google/gson Gson 깃허브로 들어가서 최신 버전의 implementation을 복사해서 build.gradle의 dependencies에 붙여넣는다 Gson으로 ..

[오류 해결] 안드로이드 스튜디오 파이어베이스 Ignoring header X-Firebase-Locale because its value was null. SDK 에뮬레이터 다운그레이드 방법 [내부링크]

제목 : [오류 해결] 안드로이드 스튜디오 파이어베이스 Ignoring header X-Firebase-Locale because its value was null. SDK 에뮬레이터 다운그레이드 방법 문제 안드로이드 스튜디오 SDK 에뮬레이터 업데이트 이후 파이어베이스 로그인을 비롯한 기능이 완전히 이용이 불가능 해졌다. 하지만 스마트폰 USB 디버깅 모드를 이용했을 때는 문제 없이 정상적으로 작동한다. 시도해본 인터넷에 존재하는 방법 1. 이메일 및 비밀번호를 올바르게 지정한다 (비밀번호는 6자 이상) -> 애초에 비밀번호는 8자리였다. X 2. 메니페스트 애플리케이션에 아래 코드를 추가한다. android:usesCleartextTraffic="true" -> 여전히 작동 안됨 X 3. 에뮬레이터에..

[안드로이드 스튜디오, Java] R.string 자바 코드에서 불러오는법, context.getString(R.string.name), valueOf, toString [내부링크]

제목 : R.string 자바 코드에서 불러오는법, context.getString(R.string.edit), valueOf, toString 자바 코드에서 R.string.name 이런식으로 사용하면 미리 설정해둔 string을 가져올 수 있는데 String 객체에 넣으려니 이상한 숫자가 넣어졌다 아마 id인것같은데 내가 원하는 string으로 가져오려면 어떻게 해야할까 방법 context.getString(R.string.name) 이렇게 하면 제대로 string이 나온다 참고 링크

[프로그래머스 Level 1, C] 수박수박수박수박수박수? [내부링크]

문제 : 수박수박수박수박수박수? 풀이 방법 stdbool.h 헤더파일로 c언어에서 bool을 true, false값으로 나타낼 수 있게 하였고 이것으로 flag변수를 만들어서 번갈아가며 "수"와 "박"을 넣을 수 있게 만들었다. strcat는 문자열 뒤에 문자열을 붙일 수 있게 하는 함수인데 char*에 붙일 수 있다. 이렇게만하고 말록 사이즈는 그냥 sizeof(char)로 했더니 덤프 오류가나서 어떻게 해야할까 싶었는데 char* answer = (char*)malloc(800000)으로 한 이유는 char의 사이즈가 8이고 n은 10,000이하의 자연수이라서 8 * 10000으로 생각했는데 잘 돌아가서 그냥 썼다 소스 코드 #include #include #include #include char* ..

[프로그래머스 Level 2, C++] 소수 찾기 [내부링크]

문제 : 소수 찾기 풀이 방법 조합과 순열을 적절히 섞어야하며 자릿수도 신경 써야하므로 for문 안에 do while (next_permutation)을 넣었다. 프로그래머스 소수 찾기 11번 케이스만 오답이 나서 뭔가 했는데 numbers를 sort하지 않아서 오류가 났던 것이다. 경우의 수를 전부 체크하고 나면 01과 1은 같은 숫자로 치므로 0도 제거 한 다음, 중복되는 숫자를 제거해서 소수를 체크하면 끝이다 소스 코드 #include #include #include using namespace std; bool isPrime(int& i) { for(int u = 2; u

[프로그래머스 Level 1, Java] 평균 구하기 [내부링크]

문제 : 평균 구하기 풀이 방법 배열의 요소를 다 더한 후 배열의 길이만큼 나누면 된다 소스 코드 class Solution { public double solution(int[] arr) { double answer = 0; for(int i : arr) answer += i; return answer / arr.length; } }

[프로그래머스 Level 1, Java] 정수 제곱근 판별 [내부링크]

문제 : 정수 제곱근 판별 풀이 방법 n이 어떤 양의 정수 x의 제곱인지 판별하려고 하니까 n의 제곱근은 양의 정수이면 된다. Math.sqrt(n)을 1로 나누었을 때 나머지가 0이면 정수이다 소스 코드 class Solution { public long solution(long n) { if(Math.sqrt(n) % 1 == 0) return (long)Math.pow(Math.sqrt(n) + 1, 2); else return -1; } }

[안드로이드, Java] 리사이클뷰 아이템 마진 적용하기, RecyclerView Item Margin [내부링크]

제목 : 리사이클뷰 아이템 마진 적용하기, RecyclerView Item Margin 문제 프레그먼트에 리사이클뷰를 넣어서 리스트를 만들었는데 만들고 보니 아이템들이 따닥따닥 붙어있었다. 그래서 margin prams를 사용해서 했더니 안되어서 다른 방법을 찾아보다가 데코레이션을 써야한다고 한다 방법 데코레이션 클래스 만들기 Decoration 클래스를 하나 만든다. 이름은 아무렇게나 하면 된다 데코레이션 클래스 설정 새로 만든 클래스에 RecycleView.ItemDecoration을 extends하고 생성자로 Context context를 받아온다음 Ctr + O를 눌러 getItemOffsets를 생성한다 그리고 아래 코드 처럼 작성하면 위 사진처럼 margin이 적용된 것 처럼 쓸 수 있다 pa..

[프로그래머스 Level 2, C++] 최댓값과 최솟값 [내부링크]

문제 : 최댓값과 최솟값 풀이 방법 if else 문으로 숫자일 경우를 배열에 넣고 최댓값과 최솟값만 구해주면 된다 소스 코드 #include #include #include using namespace std; string solution(string s) { string answer = ""; vector arr; string temp; for(char & c : s) { if(c == '-' || c != ' ') { temp.push_back(c); } else if (c == ' ') { arr.push_back(stoi(temp)); temp.clear(); } } arr.push_back(stoi(temp)); answer.append(to_string(*min_element(arr.begi..

[안드로이드, Java] View 동적으로 addView() 하고 마진 적용 하는 방법 [내부링크]

제목 : View 동적으로 addView() 하고 마진 적용 하는 방법 안드로이드 공부를 하면서 앱을 만들고 있는데 동적으로 View를 추가 한 후 실행을 해보니 마진이 제대로 적용되지 않는 버그가 있었다 알고보니 addView()를 하고 다시 마진을 적용해줘야 한다고 한다. 일단 마진을 적용할 사이즈를 dimens.xml에 미리 정의해야한다. 코드상 20이 20dp가 아니기 때문이라고 한다 for(WordsItem item : listItem) { View v = View.inflate(requireContext(), R.layout.words_items, null); LinearLayout words_items_linear_layout = (LinearLayout) v.findViewById(R.id..

[프로그래머스 Level 2, C++] 가장 큰 수 [내부링크]

문제 : 가장 큰 수 풀이 방법 처음에는 벡터를 하나 만들고 순열구하는 함수로 전부 넣은 다음 최대값을 비교하는 방법으로 풀었는데 테스트 케이스는 정답으로 나왔지만 제출할 때 시간초과라는 뭐같은 상황이 나와서 뭐 없나 생각하다가 그냥 숫자 앞뒤로 비교만 해도 되나 싶어서 해봤는데 정답으로 나와서 다행이었다 근데 11번 테스트 케이스에서 막혀서 질문하기를 봤는데 0일경우 0하나만 나와야한대서 그렇게 해주니 정답이었다 이번에 람다식 공부도 하고 재밌었다 소스 코드 #include #include #include #include using namespace std; string solution(vector numbers) { vector arr(numbers.size()); // numbers벡터에서 arr벡..

startActivity(intent); 팅김 오류 해결법 [내부링크]

Manifest.xml에 액티비티를 추가하였는지 확인 할 것 fragment와 달리 activity는 추가하면 manifest에 추가를 해야한다고 합니다. findViewById를 제대로 적고 리스너를 썼는지 확인 할 것 새로운 액티비티에 findViewById를 썼는데 찾을 수 없는 아이디면 팅기는 현상이 있습니다. 예를들어 새 액티비티에 Button btn_back = (Button) findViewById(R.id.voca_add_back); btn_back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finish(); } }); 이렇게 코드를 썼는데 R.id.voca_add_bac..

[프로그래머스 Level 1, C] 직사각형 별찍기 [내부링크]

문제 : 직사각형 별찍기 풀이 방법 별찍기 자체는 어렵지 않은데, 주어지는 파라미터가 없어서 scanf와 printf를 직접 넣어야 한다는 함정이 숨어 있었다 소스 코드 #include int main(void) { int a; int b; scanf("%d %d", &a, &b); for(int i = 0; i

[프로그래머스 Level 2, C++] 124 나라의 숫자 [내부링크]

문제 : 124 나라의 숫자 풀이 방법 3진법으로 풀면 되는거 아닌가 했는데 0이 없는 나라였다... 124 나라의 수체계의 3번 째를 3진수의 10으로 맞추려면 3으로 나눴을 때 0이 나오면 4로 만들면 된다 그리고 몫에서 1을 빼면 완전한 4가 된다 조금 더 자세히 보면 10진수 3은 3진수로 바꿀 때 10이 된다 3을 3으로 나눴을 때 나머지가 0, 몫이 1이다. 그럼 여기서 나머지 0을 4로 바꾸고 몫에서 1을 뺀다면? 이렇게 계산을 한 다음, 몫을 쓰고 나머지를 쓰면 04 즉, 4가 된다 (진법 계산을 while문으로 만들 때 while(몫 != 0) 이런식으로 만들게 되는데 0이 되면 반복문을 종료하게 되니 4가 되는거다) 그래서 진법 계산을 할 때 몫 변수를 3으로 나누고 나머지가 0이되면 ..

[프로그래머스 Level 2, C++] 숫자의 표현 [내부링크]

문제 : 숫자의 표현 풀이 방법 처음 시작하는 숫자를 정해서 반복문으로 1씩 더하고 15이상이면 종료 15이면 answer++ 해주고 반복문이 끝나면 시작하는 숫자 ++ 이런식으로 하면 될 것 같아서 만들어 봤는데 잘 돌아가서 다행이였다 어떤 사람은 그냥 2중 for문으로 만들었던데 깔끔하고 나쁘지 않은 것 같았다.... 수학적 요소가 있다고 하긴 어렵고 노가다 느낌 노가다를 얼마나 효율적으로 쓰려나 싶었는데 어렵네 소스 코드 #include #include using namespace std; int solution(int n) { int answer = 0; int i = 1, u = 0, sum = 0; while(i < n) { sum += i; u = ++i; while(true) { sum +..

[프로그래머스 Level 2, C++] 다음 큰 숫자 [내부링크]

문제 : 다음 큰 숫자 풀이 방법 2진수로 변환만 한다면 간단한 문제인데 bitset의 count 메소드를 알았다면 좋았을 것 같다 bitset의 count메소드는 1의 개수를 반환해주는데 이 문제는 1의 개수가 같아야 한다는 조건이 있으니 더 쉽게 접근 할 수 있었을 것 같다. 소스 코드 #include #include #include using namespace std; string toBinary(int n) { string r; while (n != 0){ r += ( n % 2 == 0 ? "0" : "1" ); n /= 2; } return r; } int solution(int n) { int answer = 0; string bin = toBinary(n); int count_1 = cou..

마인크래프트 1.19 플러그인 만들기 Import 에러 해결법 [내부링크]

플러그인 만들기 Import 에러 오래전부터 마인크래프트 플러그인을 만들어 보고 싶었는데 어제 할맘이 생겨서 하게 되었다 인터넷에 플러그인 만들기를 검색을 하니 나무위키부터 여러 블로그에 플러그인을 만드는 방법이 소개되어있었다 지금 마인크래프트 버전은 1.19니까 왠만하면 최신버전으로 하자 해서 최신버전의 api를 받고 외부라이브러리에 등록을 했다 그런데 똑같이 라이브러리를 등록하고 똑같은 코드를 입력했는데 안되는거다 설마설마 IDE문제겠거니 해서 이클립스 말고 intelliJ를 설치하고 했는데도 안되어서 낮은 버전의 api를 라이브러리로 넣었더니 되더라... 낮은버전으로 할 수는 없으니 오랜만에 한마포에 들어가서 질문을 하니까 답해주시는 분이 있어서 겨우 해결했다 1.18 이상 Spigot API im..

[프로그래머스 Level 2, C++] 최솟값 만들기 [내부링크]

문제 : 최솟값 만들기 풀이 방법 두 개의 배열에서 하나는 최대값 하나는 최솟값을 꺼내서 곱하고 더하는 과정을 반복하면 된다. 처음에는 max_element, min_element를 사용해서 테스트케이스와 제출케이스는 성공했지만 효율성에서 오답이 났었다. 그래서 뭘로 하지 하다가 각각 오름차순, 내림차순 정렬을 해서 곱해도 똑같으니 sort로 정렬을 해보자 해서 했더니 정답이었다 .... 이놈의 효율성 greater()를 sort 마지막에 넣으면 내림차순으로 정렬된다. 소스 코드 #include #include #include using namespace std; int solution(vector A, vector B) { int answer = 0; sort(A.begin(), A.end()); so..

[프로그래머스 Level 2, C++] N-Queen [내부링크]

문제 : N-Queen 풀이 방법 솔직히 잘 모르겠다 문제의 질문하기에서 2차원으로 하지말고 1차원으로 해야 효율성에서 통과할 수 있다고 하고 기존 체스와 새로운 체스의 각행과 열의 차의 절대값이 같으면 기울기가 같으니 대각선 체크를 할 수 있다고 하는데 도통 뭔소린지 모르겠더라 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ https://cryptosalamander.tistory.com/58 [백준 / BOJ] - 9663번 N-Queen C++ 풀이 백준 - 단계별로 풀어보기 [9663] https://www.acmicpc.net/problem/9663 문제 풀이 N-Queen 문제는 백트래킹의 가장 대표적인 예제로서, 퀸의 특성상 체스판 한 행당 한 개의 퀸만 존재할 수 있다는 것을 전제.. cryptosalamander.t..

[프로그래머스 Level 1, C++] 신고 결과 받기 [내부링크]

문제 : 신고 결과 받기 풀이 방법 https://youtu.be/SHX3FgLx014 처음에는 내 방식 대로 풀었을 때 테스트 케이스는 통과 했었다.. 근데 제출하니까 실패 거의 반 이상을 차지해서 좀 더 고민하다가 3시간 이상 넘어가니까 못풀겠더라 그래서 유튜브에 찾아보니까 이렇게 풀이랑 코드랑 같이 있는 것을 보고 배웠다. 이분은 map이랑 set을 사용하는데 중복을 없애기 위해 set을 사용한다고 했다. report.erase(unique(report.begin(), report.end()), report.end()); 나는 이거면 중복을 제거 하기 때문에 이거만 쓰고 set을 쓰지 않았는데 오류가 나더라 아마도 set을 써야 하는게 맞았던 것 같다. 해쉬랑 set좀 더 공부해야할 것 같다 소스 ..

[프로그래머스 Level 1, C++] 키패드 누르기 [내부링크]

문제 : 키패드 누르기 풀이 방법 키패드의 위치를 어떻게 구할까 생각하다가 그냥 각 키패드 번호의 좌표계를 만들어서 두 점사이의 거리 공식을 이용하면 풀 수 있겠다고 생각을 했었습니다. 왼쪽 열과 오른쪽 열은 무조건 누르는 손가락이 정해져있지만 가온데 열은 가까운 손가락으로 누르는 조건이 있습니다. 그렇다면 두 점사이의 거리 공식을 이용하면 구하겠지 했는데 막상 만들어 보니 실패라고 뜨더군요. 알고보니 유클리드 거리를 쓰는게 아니라 맨해튼 거리를 쓰는 것이 정답이었습니다. 우리가 알고 있는 두 점 사이의 공식이 유클리드 거리었고 이게 맨해튼 거리라고 합니다. 문제 조건에 상하좌우로 1칸씩 움직인다고 했기 때문에 맨해튼 거리 공식을 써서 풀어야 했던겁니다. 소스 코드 #include #include #in..

[프로그래머스 Level 1, C++] 크레인 인형뽑기 게임 [내부링크]

문제 : 크레인 인형뽑기 게임 풀이 방법 스택은 넣은 순서 반대로 꺼내는 특징이 있기 때문에 쓰면 크레인으로 집은 인형들을 관리하기 쉬울 것 같아서 스택을 써봤는데 그냥 벡터로 했어도 문제 없었을 것 같다. 크레인으로 뽑은 인형의 자리는 0으로 채우기만 한다면 가볍게 풀 수 있는 문제이다. 소스 코드 #include #include #include using namespace std; int solution(vector board, vector moves) { int answer = 0; stack s; for(int & i : moves) { for(vector & u : board) { if(u[i-1] != 0) { if(s.empty() || s.top() != u[i-1]) { s.push(u[..

[프로그래머스 Level 1, C++] 실패율 [내부링크]

문제 : 실패율 풀이 방법 answer 값으로 실패율을 넣는게 아니라 스테이지 단계를 넣어야 해서 이걸 어떻게 해야할까 하다가 2차원 배열을 만들고 0번째에는 스테이지, 1번째에는 실패율을 넣고 내림차순 조건으로 1번째만 보고 정렬을 한다면 하고 생각이 떠올라서 했는데 되어서 다행이었다. 실패율을 만드는 방법은 해당 단계 / 단계를 클리어한 플레이어 수로 만들면 되는데 스테이지를 전부 클리어한 경우도 있기 때문에 이 경우를 참고하고 클리어한 플레이어를 어떻게 구하면 될까 하고 생각을하다가 count_if로 해당 단계보다 큰 숫자를 가진 요소의 갯수를 더하면 쉽게 구할 수 있었다. count_if에서 비교할 변수는 지역변수로 넣으면 이상하게 오류가 나기에 전역변수로 빼줘야했다. 하다보니 ignal: flo..

[프로그래머스 Level 1, C++] [1차] 다트 게임 [내부링크]

문제 : [1차] 다트 게임 풀이 방법 벡터 배열을 하나 만들어서 dartResult를 전부 분해해서 다시 넣었다. 왠지 그렇게 하는게 조건문을 만들 경우 편할 것 같아서 그랬다. 문자열 10은 아스키코드가 따로 없다보니 1이 나오고 그다음 숫자가 0이면 10을 넣고 두칸 건너뛰는 방식으로 분해를 했고 answer 벡터를 만들고 int temp를 만들어서 SDT*#을 각각 계산해주고 temp를 answer 벡터에 넣고 마지막 answer에 answer 벡터의 값을 다 더해주는 방식으로 문제를 풀었다. *#이 나올때가 있고 안나올 때가있으며 10이라는 숫자가 나올 수 있으니 그걸 어떻게 해야할까 고민하는데 시간을 썼고 숫자를 어떻게 인식할지 거기에 시간을 많이 쓴거같다. 소스 코드 #include #inc..

[프로그래머스 Level 1, C++] 로또의 최고 순위와 최저 순위 [내부링크]

문제 : 로또의 최고 순위와 최저 순위 풀이 방법 for문을 돌려서 lottos와 win_nums에 동일한 숫자가 있거나 lotts에 0이 있으면 미리 만들어 놓은 배열에 추가한다. 최고 순위는 배열의 크기 그 자체이고 최저 순위는 배열 요소에서 0을 제외한 나머지 크기이다. count_if()를 이용해서 0을 제외한 나머지 크기를 구하고 스위치문으로 등수를 구했다. 소스 코드 #include #include #include using namespace std; vector solution(vector lottos, vector win_nums) { vector answer; vector same_num; for(int & i : lottos) { for(int & u : win_nums) { if(i ..

[프로그래머스 Level 1, C++] [1차] 비밀지도 [내부링크]

문제 : [1차] 비밀지도 풀이 방법 지도 두개를 겹치면 나오는 결과로 비밀지도를 풀어야 하는 컨셉의 문제이다. 지도 각 칸이 둘중 한 곳이라도 1이면 완성된 지도에서 1이 된다고 하는데 OR연산이 딱 맞다. | 연산을 해서 int temp에 넣고 그것을 2진법으로 만든 다음 string str에 1이면 #을 넣고 0이면 공백을 넣으면 된다. 2진법을 계산한 결과를 거꾸로 만들어야해서 stack을 써봤다 stack의 넣은 순서 반대로 나와야 하는 성질을 이용했다. 소스 코드 #include #include #include using namespace std; vector solution(int n, vector arr1, vector arr2) { vector answer; stack s_str; for..

[프로그래머스 Level 1, C++] 내적 [내부링크]

문제 : 내적 풀이 방법 for문으로 해당 공식을 대신 쓰면 된다 소스 코드 #include #include using namespace std; int solution(vector a, vector b) { int answer = 0; for(int i=0; i

[프로그래머스 Level 1, C++] 같은 숫자는 싫어 [내부링크]

문제 : 같은 숫자는 싫어 풀이 방법 set 같은거 안쓰고 순수 for문과 if문으로... 소스 코드 #include using namespace std; vector solution(vector arr) { vector answer; int temp = -1; for(int & i : arr) { if(temp != i) { answer.push_back(i); } temp = i; } return answer; }

[프로그래머스 Level 1, C++] 정수 제곱근 판별 [내부링크]

문제 : 정수 제곱근 판별 풀이 방법 math 라이브러리의 함수를 잘 사용해보자 소스 코드 #include long long solution(long long n) { long long solution, x; x = sqrt(n); if(pow(x,2) == n) return pow(x+1,2); else return -1; }

[프로그래머스 Level 1, C++] 자릿수 더하기 [내부링크]

문제 : 자릿수 더하기 풀이 방법 n % 10을 하면 자릿수가 나온다 소스 코드 #include using namespace std; int solution(int n) { int answer = 0; while(n!=0) { answer += n % 10; n /= 10; } return answer; }

[Level 1, C++] 두 정수 사이의 합 [내부링크]

#include #include using namespace std; long long solution(int a, int b) { long long answer = 0; if (a == b) answer = a; else if (a > b) { for (int i = b; i a) { for (int i = a; i

[Level 1, C++] 모의고사 [내부링크]

문제: 모의고사 풀이 방법 문제를 찍는 방식이 3명 모두 다르니까 반복자를 다르게 설정해줘야 겠다고 생각했다. for문의 반복자 하나로 간단하게 만들 방법이 반드시 있을거라고 생각하긴 했는데 그 방법이 떠오르지 않아서 반복자를 직접 만들어서 풀었다. 풀이 코드 #include #include #include using namespace std; vector solution(vector answers) { vector answer; int student_1[] = {1, 2, 3, 4, 5}; int student_2[] = {2, 1, 2, 3, 2, 4, 2, 5}; int student_3[] = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5}; int std_answers_count[] = ..

[프로그래머스 Level 1, C++] 음양 더하기 [내부링크]

삼항연산자를 사용하면 한줄로 만들 수 있다. #include #include using namespace std; int solution(vector absolutes, vector signs) { int answer = 0; for(int i=0; i

[프로그래머스 Level 1, C++] 포켓몬 [내부링크]

문제: 포켓몬 풀이 방법 뭔가 되게 긴데 처음에는 어떻게 풀어야할지 몰랐었다. 진짜 모르겠어서 질문하기를 봤는데 min이랑 set을 쓰라고 한다. 진짜 뭔 말인지 몰랐는데 입출력 예를 보니까 뭔가 말이 되는 것 같아서 set이랑 min을 이용하고 입출력 예를 그대로 따라 만들어봤다. set을 만들고 거기다가 포켓몬을 다 넣어서 set의 사이즈를 리던하니까 실패가 되는 것도 있고 아닌 것도 있어서 min을 넣고 n/2랑 비교해서 return 해봤더니 되더라... 소스 코드 #include #include using namespace std; int solution(vector nums) { int answer = 0; set s; for(auto & i : nums) { s.insert(i); } answ..

[Level 1, C++] 나머지가 1이 되는 수 찾기 [내부링크]

#include #include using namespace std; int solution(int n) { vector temp; for(int i=1; i

[Level 1, C++] 완주하지 못한 선수 [내부링크]

해쉬를 알아봐야해서 까다로웠던 문제이다. #include #include #include using namespace std; string solution(vector participant, vector completion) { string answer = ""; unordered_map hash; for(string & s : participant) { hash[s]++; } for(string & s : completion) { hash[s]--; } for(auto & key : hash) { if(key.second != 0) { answer = key.first; break; } } return answer; }

[Level 1, C] 숫자 문자열과 영단어 [내부링크]

#include #include #include #include // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요. int solution(const char* s) { int answer = 0; char array[10][6] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"}; char answer_array[50] = ""; int s_index = 0; int i_index = 0; while (s_index < strlen(s)) { if (s[s_index] >= 48 && s[s_index]

[Level 1, C++] 체육복 [내부링크]

진짜 까다로웠던 문제였다. 내 방식대로 도저히 답이 안나와서 같은 과 형에게 알고리즘을 물어보고 나니까 풀 수 있었던 문제다. #include #include #include using namespace std; int solution(int n, vector lost, vector reserve) { int answer = 0; vector student(n, 1); // studnet 배열에 각 학생의 번호와 체육복 갯수를 초기화 for (int i = 0; i < lost.size(); i++) { student[lost[i] - 1]--; } for (int i = 0; i < reserve.size(); i++) { student[reserve[i] - 1]++; } for (int i = 0;..

[Level 1, C++] 최대공약수와 최소공배수 [내부링크]

문제 : 최대공약수와 최소공배수 풀이 방법 유클리드 호제법을 쓰지 않으면 시간 오류가 뜨기 때문에 유클리드 호제법을 찾아봐야한다. 공식을 이해하느라 유튜브도 찾아보고 그랬었긴 했다. 원리를 설명하는 영상은 이 영상이 최고인듯하다. 풀이 코드 #include #include using namespace std; vector solution(int n, int m) { vector answer(2, 1); int a, b, tmp; if(n > m) { tmp = m; m = n; n = tmp; } a = n, b = m, tmp = 0; while(b % a != 0) { tmp = b % a; b = a; a = tmp; } answer[0] = a; answer[1] = (n * m) / answer..

[Level 1, C++] 시저 암호 [내부링크]

시저 암호는 유명한데 교양 보안 관련 수업에서도 나왔었다. 재밌는 암호화 방법인 것 같다. #include #include #include using namespace std; string solution(string s, int n) { string answer = ""; for (int i = 0; i < s.size(); i++) { if (s[i] == ' ') { answer.push_back(s[i]); } else { for (int u = 0; u < n; u++) { if (s[i] == 'z') { s[i] = 'a'; continue; } else if (s[i] == 'Z') { s[i] = 'A'; continue; } else { s[i] += 1; continue; } } an..

[Level 1, C++] 자연수 뒤집어 배열로 만들기 [내부링크]

#include #include using namespace std; vector solution(long long n) { vector answer; string str = to_string(n); for(int i = str.length() - 1; i >= 0; i--) { answer.push_back(str.at(i) - 48); } return answer; }

[Level 1, C++] x만큼 간격이 있는 n개의 숫자 [내부링크]

#include #include #include using namespace std; vector solution(int x, int n) { vector answer; long long temp = x; if(x == 0) { for(long long i=0; i

[Level 1, C++] 핸드폰 번호 가리기 [내부링크]

#include using namespace std; string solution(string phone_number) { string answer = phone_number; for(int i=0; i

[Level 1, C, C++] 하샤드 수 [내부링크]

C랑 C++ 같이 풀어보았다. #include #include #include bool solution(int x) { bool answer = true; int x_sum = 0; char x_char[10000]; sprintf(x_char, "%d", x); for (int i = 0; i < strlen(x_char); i++) { x_sum += (int)x_char[i] - 48; } if (x % x_sum == 0) answer = true; else answer = false; return answer; } #include using namespace std; bool solution(int x) { int sum = 0; string s_number = to_string(x); for(..

[Level 1, C++] 정수 내림차순으로 배치하기 [내부링크]

#include #include #include using namespace std; long long solution(long long n) { long long answer = 0; string str = to_string(n); sort(str.begin(), str.end(), greater( )); answer = stoull(str); return answer; }

[Level 1, C++] 제일 작은 수 제거하기 [내부링크]

#include #include using namespace std; vector solution(vector arr) { vector answer = arr; vector temp = {answer[0], 0}; if(answer.size() == 1) { answer[0] = -1; return answer; } else { for(auto & i : answer) { if(i < temp[0]) { temp[0] = i; temp[1] = &i - &*answer.begin(); } } answer.erase(answer.begin() + temp[1]); return answer; } }

[Level 1, C++] 이상한 문자 만들기 [내부링크]

#include #include using namespace std; string solution(string s) { string answer = ""; vector vec_str; int check = 0; for(int i=0; i

[Level 1, C] 콜라츠 추측 [내부링크]

#include #include #include int solution(int num) { long l_num = (long)num; int answer = 0; int count = 0; while (l_num != 1) { if (l_num % 2 == 0) { l_num /= 2; } else { l_num = (l_num * 3) + 1; } count++; } if (count < 500) { answer = count; } else { answer = -1; } return answer; }

[Level 1, C++] 행렬의 덧셈 [내부링크]

#include #include using namespace std; vector solution(vector arr1, vector arr2) { vector answer; for(int i=0; i

[Level 1, C++] 서울에서 김서방 찾기 [내부링크]

#include #include using namespace std; string solution(vector seoul) { string answer = ""; for(string & s : seoul) { if(s == "Kim") { answer = "김서방은 " + to_string(&s - &*seoul.begin()) + "에 있다"; break; } } return answer; }

[Level 1, C++] 문자열 다루기 기본 [내부링크]

#include #include using namespace std; bool solution(string s) { if(s.length() == 4 || s.length() == 6) { if (s.length() == to_string(atoi(s.c_str())).length()) return true; else return false; } else return false; }

[Level 1, C++] 나누어 떨어지는 숫자 배열 [내부링크]

#include #include #include using namespace std; vector solution(vector arr, int divisor) { vector answer; for(int & i : arr) { if(i % divisor == 0) answer.push_back(i); } sort(answer.begin(), answer.end()); if(answer.size() == 0) answer.push_back(-1); return answer; }

[Level 1, C++] 부족한 금액 계산하기 [내부링크]

for문의 조건을 잘 만들면 쉽게 만들 수 있다. long long으로 하지 않으면 오류가 난다. using namespace std; long long solution(int price, int money, int count) { long long answer = 0; for(long long i=price; i= money ? answer -= money : answer = 0; return answer; }

[Level 1, C++] 2016년 [내부링크]

시간을 계산해주는 방법을 찾아서 2016년 1월 1일 부터 해당 날짜까지 시간을 계산해서 요일을 구한다. #include #include #include #include using namespace std; string solution(int a, int b) { string answer = ""; time_t start, end; struct tm s_time; int tm_day, tm_hour, tm_min, tm_sec; double diff; string day[7] = { "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT" }; s_time.tm_year = 2016 - 1900; s_time.tm_mon = 1 - 1; s_time.tm_mday = 1; s..

[Level 1, C++] 두 개 뽑아서 더하기 [내부링크]

중복을 제거하는 함수인 unique와 erase를 같이 쓰면 쉽게 풀 수있다. #include #include #include using namespace std; vector solution(vector numbers) { vector answer; for(int i=0; i

[Level 1, C++] 3진법 뒤집기 [내부링크]

파이썬에는 진법 계산하는 함수같은게 있던데 c++엔 그런게 없다. 그래서 그냥 직접 진법 계산하는걸로 만들었다. 직접 계산하면 앞뒤로 뒤집을 필요없으니 좋았다. #include #include #include #include using namespace std; int solution(int n) { int answer = 0; string str = ""; int i = 0; while (true) { str.append(to_string(n % 3)); n = n / 3; if( n == 0) break; } for (int i = 0; i < str.length(); i++) { cout

[Level 1, C++] 문자열 내 마음대로 정렬하기 [내부링크]

sort 함수를 이용하는데 정렬 기준을 내가 만들면 쉽게 만들 수 있다. #include #include #include using namespace std; int i; bool compare(string s1, string s2) { if(s1[i] == s2[i]) { if(s1 < s2) return true; else return false; } else if(s1[i] < s2[i]){ return true; } else return false; } vector solution(vector strings, int n) { i = n; vector answer = strings; sort(answer.begin(), answer.end(), compare); return answer; }

[Level 1, C++] 최소직사각형 [내부링크]

모든 지갑을 같은 방향으로 만들어 놓으면 계산하기 편하다. #include #include using namespace std; int solution(vector sizes) { int answer = 0; int temp = 0; vector max(2, 0); for(int i=0; i

[Level 1, C++] 약수의 개수와 덧셈 [내부링크]

다른사람들 풀이는 더 짧게 되어있어서 신기하게 느껴졌다. #include #include using namespace std; int solution(int left, int right) { int answer = 0; vector even; vector odd; vector temp; for (int i = left; i

[Level 1, C++] K번째수 [내부링크]

잘라서 넣는 방법만 알면 쉽게 풀 수 있었다. #include #include #include using namespace std; vector solution(vector array, vector commands) { vector answer; for(int i = 0; i < commands.size(); i++) { vector copy; copy.assign(array.begin() + commands[i][0] - 1, array.begin() + commands[i][1]); sort(copy.begin(), copy.end()); answer.push_back(copy[commands[i][2] - 1]); } return answer; }

[Level 1, C++] 소수 만들기 [내부링크]

문제를 봤을 때 "서로 다른 숫자 중 3개를 골라" 라고 나왔을 때 이건 조합을 이용해서 풀면 좋겠다고 싶었다. c++ STL에 조합을 만드는게 있었으면 좋았겠지만 순열을 만드는 것은 있다고 한다. 인터넷에 누가 올려주셔서 그냥 보고 따라했다. #include #include using namespace std; int solution(vector nums) { int answer = 0; vector arr; vectorv(nums.size() - 3, false); v.insert(v.end(), 3, true); do { vector temp; int sum = 0; for (int k = 0; k < nums.size(); k++) { if (v[k]) temp.push_back(nums[k]);..

[Level 1] 없는 숫자 더하기 [내부링크]

제한사항으로 숫자가 정해져있어서 그냥 10칸 짜리 배열을 만들고 숫자가 있으면 해당하는 인덱스를 증가시키고 나중에 0인 인덱스만 구하는 방법으로 만들었다. 범위기반 for문을 사용했기 때문에 인덱스를 구할 때를 유의해야한다. #include #include #include using namespace std; int solution(vector numbers) { int answer = 0; vector arr(10); for(auto & n : numbers) { arr[n]++; } for(auto & n : arr) { if(n == 0) answer += &n - &*arr.begin(); // range based for에서 인덱스를 구하는 방법 } return answer; }

[Level 1] 신규 아이디 추천 [내부링크]

프로그래머스 연습 문제 레벨 1 신규 아이디 추천 친구가 풀어보라고 추천해준 문제이다. 단계별 원하는 조건을 하나 하나 맞추다 보니 풀어지는 문제였다. #include #include #include using namespace std; void step_1(string &str) { transform(str.begin(), str.end(), str.begin(), ::tolower); } void step_2(string &str) { string temp; for (char& c : str) { if (islower(c) || isdigit(c) || c == '-' || c == '_' || c == '.') temp.push_back(c); } str = temp; } void step_3(st..

[C++] fill, fill_n 배열을 초기화 하는 방법, 2차원, 3차원 배열 초기화 [내부링크]

c++에서 배열을 초기화하는 방법으로 다음과 같은 초기화 방법이 있다 int a[3] = { 1, 2, 3 }; int b[3] = { 0 }; int c[] = { 0, 0, 0 }; 이것은 정수형 배열을 초기화 하는 방법이고 정수형 배열에서 배열의 모든 값을 0이외의 숫자로 초기화 하는 방법은 어떤것이 있을까 int d[3] = { 5 }; 나는 처음에 이렇게 적으면 모든 값이 5로 초기화 되는 줄 알았다 하지만 결과는 그렇지 않았고 저렇게 적으면 0번째 요소에는 5가 들어가고 나머지 인덱스값에는 0으로 초기화 되는거였는데 이걸 제대로 알지 못했던것이었다 fill과 fill_n 함수 그러다가 fill과 fill_n이라는 함수를 알게되었다 fill과 fill_n 함수는 아래 홈페이지에서 영어로 자세히 ..

[C언어] 하샤드수 구하기, int 각 자릿수 더하기 [내부링크]

#include #include #include int main(Void) { int number; int sum=0; char c_number[10000]; printf("하샤드수인지 확인할 숫자를 입력하시오: "); scanf("%d", &number); sprintf(c_number, "%d", number); for (int i = 0; i < strlen(c_number); i++) { sum += c_number[i] - 48; } if (number % sum == 0) { printf("%d는 하샤드수입니다.", number); } else { printf("%d는 하샤드수가 아닙니다.", number); } return 0; } 하샤드수구하기

마인크래프트 스크립트 공유 - 아이템 스탯 강화 스크립트(플러그인) 1.3 [내부링크]

마인크래프트 스크립트 공유 - 아이템 스탯 강화 스크립트 1.3 아이템 스탯 강화 스크립트 1.3 다운로드 위 첨부파일을 받아서 적용하면 되는데 첨부하고 갑자기 생각났네요. 명령어에 행운석과 주문서 같은 얻는 아이템에 OP체크를 안넣었습니다. /강화 오피 부분이랑 비슷하게 알아서 만드시면 됩니다. ※ 사용법 ※ - 명령어 - /강화 확률 강화 확률을 봅니다. /강화 강화석 레벨 수량 해당 레벨의 강화석을 얻습니다. /강화 오피 강화 확률을 100%로 고정합니다. /강화 행운석 확률 해당 확률의 행운석을 얻습니다. /강화 주문서 파괴 방지 주문서를 얻습니다. /강화 인챈트이름 해당 인챈트 강화석을 얻습니다. /인챈트 인챈트이름 레벨 들고있는 아이템을 해당 인챈트로 인챈트합니다. 사용법은 지난 버전이랑 ..

마인크래프트 스크립트 - 아이템 강화 4 (행운석, 파괴방지) [내부링크]

마인크래프트 스크립트 - 아이템 강화 4 (행운석, 파괴방지) 드디어 행운석과 파괴방지 시스템을 넣어보려고 합니다. 아이템강화 3편이랑 ui도 다르긴하지만 기본 스크립트는 똑같으니 보실분은 보고 나중에 배포하면 가져가셔도 됩니다. :: 목표 :: 행운석과 파괴방지를 넣어보자 일단 무기 강화창이 많이 바뀌었습니다. 1번에는 강화석을 넣고 2번에 행운석 3번에 파괴 방지 주문서를 넣을 생각입니다. 그럼 일단 행운석과 파괴 방지 주문서를 만들어 봅시다. 디자인은 구리지만 상관없! 강화 행운석 확률은 명령어로 조정 가능하도록 만들었습니다. 그럼 행운석 정보를 얻어보는 코드를 짜봅시다. set {_행운석스탯::*} to uncolored lore of slot 31 of current inventory of pl..

마인크래프트 스크립트 - 인챈트 강화 4 [내부링크]

마인크래프트 스크립트 - 인챈트 강화 4 전에 인챈트 강화 스크립트를 다 만들었다고 생각했는데 한계치를 정해놓는걸 까먹었네요... 인챈트 한계치는 각각 정해놔야 하기 때문에 꽤 귀찮게 하나하나 설정해야합니다. :: 목표 :: 인챈트 한계치를 만들어보자 전에 인챈트 강화 창에 아이템과 인챈트 강화석을 놓고 강화 버튼을 누르면 이렇게 인챈트가 되는 스크립트를 만들었죠 근데 문제가 강화석만 얻으면 한계치 없이 인챈트를 할 수 있단 말이죠 제가 원하는건 내구3정도는 아쉬우니 인챈트 강화석을 통해 추가로 인챈트를 할 수 있게 만드는게 본래 의도이지만 또 너무 높으면 그것도 문제란말이죠 그러니 각 인챈트별로 한계를 정하고 그 이상 넘어가면 못하도록 해보려고 합니다. else: set {_enc} to transEn..

마인크래프트 스크립트 - 1개 없애기 amount of, 아이템 갯수 얻기 [내부링크]

마인크래프트 스크립트 - 1개 없애기 amount of, 아이템 갯수 얻기 안녕하세요~ 저번에 아이템 인챈트 강화를 하다가 강화석 1개를 없애고 싶은데 remove를 사용하니 아이템이 아니라며 안되었는데 다른 방법으로 1개를 없앴어요. 어떻게 하는지 한번 자세히 알아봅시다~ :: 목표 :: 원하는 아이템 수량을 얻고 없애보자 https://skriptlang.github.io/Skript/expressions.html#ExprAmountOfItems amount of ~ in ~ 여기서 중요한 구문입니다. on rightclick on sign: if line 1 is "test": open chest with 1 rows named "test" to player set slot 0 of current ..

마인크래프트 스크립트 - 인챈트 강화 스크립트(플러그인)을 만들어보자 3 [내부링크]

마인크래프트 스크립트 - 인챈트 강화 스크립트(플러그인)을 만들어보자 3 전에 인챈트를 강화하게 되면 아이템의 모든 인챈트가 강화되는 문제가 있었는데 이번에 해결해보도록 합시다. 이것만 해결되면 인챈트 강화 챕터는 끝이네요. :: 목표 :: 인챈트 강화 스크립트를 만들어보자 set {_enc} to transEnchant({_enclore::1}) parsed as enchantment set {_pitemenlv} to enchant level of {_enc} of {_pitem} delete slot 20 of current inventory of player delete slot 24 of current inventory of player enchant {_pitem} with "%{_enc}% ..

마인크래프트 스크립트 - 인챈트 강화 스크립트를 만들어보자 2 [내부링크]

마인크래프트 스크립트 - 인챈트 강화 스크립트를 만들어보자 2 전에 인챈트 관련 구문들을 한번 봤었죠. 이제 그것들을 활용해서 인챈트 강화석이란 아이템을 만들어 아이템의 인챈트를 강화하는 스크립트를 만들어보도록 하겠습니다! :: 목표 :: 인챈트 강화석을 이용한 인챈트 강화 스크립트를 만들어보자 전에 계속 만들던 아이템 강화스크립트로 이어서 하겠습니다. 인챈트 강화 창을 만들어봤는데 꽤 그럴사하죠 ㅋㅋㅋ else if iname contains "&b&l인첸트 강화": if click type is left mouse button with shift or right mouse button with shift or right mouse button: cancel event else: if clicked r..

마인크래프트 스크립트 - 인챈트 강화 스크립트(플러그인)를 만들어보자 1 [내부링크]

마인크래프트 스크립트 - 인챈트 스크립트를 만들어보자 마인크래프트 스크립트 - 인챈트 강화 스크립트(플러그인)를 만들어보자 1 가끔 생각나서 전에 만들던 강화 스크립트를 계속 만들고 있는데 인챈트를 강화하는 스크립트를 추가해보려고 합니다. 그러기 위해서는 인챈트랑 관련된 구문을 찾아야하겠네요. :: 목표 :: 인챈트 스크립트를 만들어보자 일단 관련 구문에 대해 찾아봐야겠죠 https://skriptlang.github.io/Skript/expressions.html#ExprEnchantmentLevel 기본 skript 구문인데 결과적으로 저 4개 구문 모두 같습니다. 그럼 이미 부여된 아이템의 인챈트 값을 가져오겠습니다. on rightclick on sign: if line 1 is "test": m..

마인크래프트 스크립트 - 폭죽 로켓 스크립트(플러그인) 만들기 [내부링크]

제목마인크래프트 스크립트 - 폭죽 로켓 스크립트 안녕하세요~ 능력자 스크립트를 만들다가 그냥 포기했습니다 ㅎㅎ 다음에 플러그인을 개조해보는걸로 하고 이번에는 폭죽 마인크래프트 폭죽을 스크립트로 발사해보는걸 알아보도록 하겠습니다. 이번에는 스크립트를 배포하는게 아니라 스크립트로 어떻게 폭죽을 발사하는지 알아보려고 합니다. :: 목표 :: 폭죽 로켓을 스크립트로 발사해보자 폭죽을 스크립트로 발사하려면 어떻게 해야할까 원래 강화를 성공하면 폭죽을 발사하도록 사고싶어서 찾아보니 찾아보니 SkQuery 애드온을 이용하면 가능하더라구요. https://docs.skunity.com/syntax/search/launch%20fireworks 폭죽 발사 기본 구문 (launch|deploy) %firework effe..

마인크래프트 스크립트 - 우편함 스크립트(플러그인) [내부링크]

마인크래프트 스크립트 - 우편함 스크립트(플러그인) 이번에는 명령어로 우편함을 입력하면 우편함을 불러오는 스크립트를 생각하고 있습니다. 우편함이 필요한 이유가 스크립트로 만든 GUI창에 아이템을 올려두고 ESC를 통해 창을 꺼버리면 아이템이 그대로 증발하는 생각지 못한 상황이 나올 수 있기 때문에 필요하고 아이템을 주거나 하는건 서버에 기본적으로 있긴 하겠지만 오프라인 유저에게는 give 명령어로 줄 수 없기 때문에 우편함이 있으면 좋겠다 해서 만들어 보려고 합니다. :: 목표 :: 우편함을 만들어보자 일단 먼저 서버에 접속했을 때 우편함이 설정되어있지 않으면 4행으로 설정했으니 36칸 모두 air로 설정해줍시다. on join: if {y.%uuid of player%.우편함::*} is not set..

마인크래프트 스크립트 배포 - 무기, 방어구, 아이템 스탯 강화 스크립트, 플러그인 [내부링크]

제목마인크래프트 스크립트 배포 - 무기, 방어구, 아이템 스탯 강화 스크립트 다운로드 안녕하세요! 이번에 만들고 있던 아이템 강화 스크립트를 공유해보고자합니다. 시티즌 플러그인과 연동하여 사용하시면됩니다. 시티즌 플러그인은 인터넷에 구글링하면 바로 나오니 찾아서 해주시길 바라며 사용가능한 마인크래프트 버젼은 잘 모르겠지만 1.15.2에서 개발하였으니 아래 버젼은 잘 될겁니다. ※ 사용법 ※ 먼저 시티즌 플러그인으로 무기대장장이라는 이름을 가진 npc를 만들어줍니다. npc를 우클릭하게되면 다음 창이 뜨게 되는데 맨 왼쪽에 있는 모루를 클릭하여 아이템을 변형해줘야합니다. 변형을 하게되면 위 사진처럼 강화를 할 수 있도록 만들어지는데요! 그다음 다시 npc를 우클릭해서 금을 눌러 강화를 해주면 됩니다. ..

마인크래프트 스크립트 - 아이템 강화 3 [내부링크]

마인크래프트 스크립트 - 아이템 강화 3 저번에 아이템을 강화하는것 까지 했었습니다. 이제 그 아이템의 강화 수치를 자신의 스탯에 추가해보도록 하겠습니다. :: 목표 :: 강화된 아이템의 수치를 적용해보자 이런식으로 강화수치가 아이템에 나와있는데 이걸 어떻게 자신의 스탯에 적용시킬까 장인돌이님의 유튜브에 스탯 스크립트 강좌를 올려두신걸 많이 참고했습니다. 매 10틱마다 아이템의 스탯 수치를 가져와서 체력은 바로 설정해주고 공격력과 방어력은 공격할 때 공격력의 /4만큼 추가해서 주고 방어력도 마찬가지고 그런데 두가지의 장비를 추가하는데 저정도여서 조금 수정해봤습니다. every 10 tick: set {스탯::1} to "체력" set {스탯::2} to "공격력" set {스탯::3} to "방어력" l..

마인크래프트 스크립트 - 아이템 강화 2 [내부링크]

마인크래프트 스크립트 - 아이템 강화 2 지난시간 아이템을 강화할 수 있도록 만들었습니다. 이제 청금석이라던가 금이라던가 이런 아이템을 통해 아이템을 강화할 수 있도록 만들어보도록 하겠습니다. :: 목표 :: 아이템을 강화하자 대충 GUI를 만들어 봤습니다. 지금 생각하고 있는것은 현재 무기의 강화 단계보다 1 높은 강화석을 써야만 강화를 할 수 있으며 행운석을 통해 강화 확률을 올려주며, 단계 하락을 방지해주며 복원서를 통해 사용불가 상태를 방지해주는 그냥 메이플의 스타포스같지만 아닌 시스템을 생각하고 있습니다 ㅋㅋㅋㅋㅋ 그리고 지금 생각해보니 제 서버에서 무기 대장장이와 방어구 대장장이를 나눴는데 굳이 그럴 필요가 없겠네요. 잘가라. 무기대장장이는 그대로 두겠습니다. 스크립트도 바꿔야하고 무기대장장이..

마인크래프트 스크립트 - 아이템 강화 1 [내부링크]

제목마인크래프트 스크립트 - 아이템 강화 1 안녕하세요~ 이번에는 강화 스크립트를 만들어보려고 합니다. 제가 만드는 강화는 먼저 기본 아이템을 0단계 강화할 수 있는 아이템으로 만드는 것 부터 해보려고 합니다. 그리고 npc를 클릭해야지만 이벤트를 실행할 수 있도록 하려고 합니다. :: 목표 :: 기본 아이템을 강화할수있는 아이템으로 만들자 먼저 엔피시를 생성하겠습니다. 간단하게 명령어로 해도 되긴 하지만 하는김에 엔피씨와 GUI를 통해 만들어보겠습니다. 여기까지는 유튜브에 올라온 강좌글만 봐도 알 수 있으니 따로 설명을 적진 않겠습니다. on inventory click: # 무기 변형 창 if iname contains "&2&l무기 변형": if click type is left mouse butt..

마인크래프트 스크립트 - 아이템 복사 스크립트 [내부링크]

제목마인크래프트 스크립트 - 아이템 복사 스크립트 안녕하세요! 이번에는 운영자로써 아이템을 관리하는데 특정한 아이템을 복사하고 싶다면 운영자는 /복사 같은 명령어쯤은 있으면 좋겠죠? 저도 여러가지 실험하면서 필요하다고 느꼈기 때문에 한번 만들어보려고 합니다. :: 목표 :: 아이템을 복사해보자 먼저 복사하려면 손에 아이템을 들고있어야할겁니다. 저는 인벤토리의 모든것을 복사하는게 아닌 특정 아이템을 복사하고싶기 때문에 이렇게 짜보겠습니다. 대충 생각해봤는데 쉽게 되더군요. command /아이템복사: trigger: if player is not op: message "관리자 권한이 필요합니다." else: set {_tool} to player's tool open chest with 1 rows nam..

마인크래프트 스크립트 - 경험치(exp)를 값으로 얻고 RPG 레벨을 올려보자 [내부링크]

마인크래프트 스크립트 - 경험치(exp)를 변수 값으로 얻고 RPG 레벨을 올려보자 안녕하세요~ 닉네임을 바꿔봤어요 ㅎㅎ 여튼 요즘 관심사가 마인크래프트 스크립트에요. 유튜브에서 만두민님하고 장인돌이님 스크립트 강좌를 모두 두번씩 정주행하고 스크립트에 푹 빠졌습니다 ㅋㅋㅋㅋㅋ 그래서 블로그에 스크립트를 연구하는걸 올려보려고 합니다. 오늘의 주제는 경험치인데요. 마인크래프트 경험치를 올리면 RPG 경험치도 올려보는게 목표입니다. 스크립트 다운로드는 제일 아래에 있습니다. 스크립트 경험치에 대한 예문이 나와있네요. 이걸 활용하면 RPG 레벨을 올릴 수 있을것 같습니다. 먼저 플레이어의 레벨과 경험치바의 값을 불러오는 코드를 적어봤습니다. 플레이어의 레벨은 그대로 player's level이고 경험치바를 0에..

마인크래프트 스크립트 배포, 공유 - 레벨, 경험치를 올리면 RPG 경험치, 레벨도 얻어보자 [내부링크]

마인크래프트 스크립트 - 레벨, 경험치를 올리면 RPG 경험치, 레벨도 얻어보자 안녕하세요! 포근한 블로그입니다! 레벨과 경험치 관련해서 연구하는김에 블로그도 써볼겸 오늘 바로 완성한 레벨 스크립트입니다. 마인크래프트 레벨을 올리려고 경험치를 올리면 RPG 경험치도 같이올라 일정 수치(최대경험치)에 도달하면 레벨업을 하는 구조입니다. 연구하면서 만든거라 완성도가 떨어지니 이점 유의해주시고! 다운로드, 수정, 배포 마음대로 하셔도 됩니다~ 반드시 수정해서 사용하시길 바랍니다! 스크립트 다운로드 계속 스크립트 관련해서 글을 올릴 예정이니 많이 찾아주시고 정보 공유하실분 팔로우 부탁드릴게요!! ※ 사용법 ※ /초기화: 변수들을 초기화합니다. /RPG경험치최대설정: 최대 경험치를 재설정합니다. /정보: 자신..

[파이썬] 달력 만들기 import turtle 사용 calendar 없이 만들기 [내부링크]

우리 학교 파이썬 수업 과제였습니다 ㅋㅋㅋㅋ 정말 한참 수정할게 많지만 나중에 하는걸로 하고 지금은 백업용으로 올립니다. 나름 리스트에 해당 년도 달력을 전부 넣고 싶어서 고민좀 했습니다. WOD.py # 모듈 import turtle import returnday # 터틀 입력창으로 연도 입력 받기 및 터틀 설정 turtle.title("달력 만들기") turtle.hideturtle() turtle.speed(0) inputYear = int(turtle.numinput("달력 만들기", "표시할 달력의 연도를 입력하시오.")) print("%d" % (inputYear)) print() # 터틀 창 테두리 꾸미기 turtle.penup() turtle.pensize(3) turtle.goto(-45..

[파이썬] 숫자 맞추기 게임 from random import randint [내부링크]

[파이썬] 숫자 맞추기 게임 from random import randint random 모듈로 1부터 100까지 랜덤 숫자를 불러와서 숫자맞추기 게임을 만들었습니다 시험에 나올줄알았는데 안나오누 ## 숫자 맞추기 게임 from random import randint tries = 0 myNumber = 0 correctNumber = randint(1, 100) print("1부터 100사이의 숫자를 맞추시오") while tries < 10: myNumber = int(input("숫자를 입력하시오: ")) tries += 1 if myNumber < correctNumber: print("정답보다 낮습니다!") elif myNumber > correctNumber: print("정답보다 높습니다!"..

[파이썬] 숫자를 입력하고 각 자릿수 숫자를 더하는 프로그램 [내부링크]

[파이썬] 숫자를 입력하고 각 자릿수 숫자를 더하는 프로그램 ## 각 자릿수를 더하는 프로그램 number = str(input("숫자를 입력하시오 : ")) sum = 0 for i in range(len(number)): sum = sum + int(number[i]) print("입력한 숫자의 각 자릿수를 더한 값 =", sum, end = "\n\n") 숫자를 문자로 받아서 바로 리스트가 되도록하고 range(len(number))로 리스트의 범위만큼 반복되도록하고 더할때는 int로 바꿔서 더했습니다. 뭐 10나누고 하는방법도 있는데 바로 생각난건 이거라서... 꿀잠 ㅎ

[파이썬] 년, 월, 일 받아서 요일 출력하기 datetime.date [내부링크]

[파이썬] 년, 월, 일 받아서 요일 출력하기 from datetime import date myYear = int(input("연도를 입력하시오 : ")) myMonth = int(input("달을 입력하시오 : ")) myDay = int(input("일을 입력하시오 : ")) def printDayOfTheWeek (year, month, day): dayOfTheWeek = ["월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"] return dayOfTheWeek[date(year, month, day).weekday()] print("%d년 %d월 %d일은 %s 입니다." % (myYear, myMonth, myDay, printDayOfTheWeek(myYea..

[c언어] 함수를 만들어 최댓값과 최솟값 그리고 평균 구하기 [내부링크]

/* 학생들의 성적을 받아 최댓값과 최솟값 그리고 평균을 구하는 프로그램 */ #include #define SIZE 99999 #define RESET -7 void resetArray(int arr[], int size) { int i; for (i = 0; i

[c언어] stdlib.h, time.h 랜덤 숫자 맞추기 게임, string.h 문자열 비교 [내부링크]

[c언어] stdlib.h, time.h 랜덤 숫자 맞추기 게임, string.h 문자열 비교 #include #include #include #include #define MAX_NUMBER 100 int main() { srand((unsigned)time(NULL)); int inputNumber = 0, rightNumber, canTry = 10; char quest[1][4]; rightNumber = 1 + rand() % MAX_NUMBER; printf("%d\n", rightNumber); do { printf("1 ~ 100 까지 숫자 정답을 추측하여 보십시오 (%d번 남았습니다.) : ", canTry); scanf("%d", &inputNumber); canTry--; if (in..

자바스크립트 프로그래밍 입문 - 6장 연습문제 풀이 [내부링크]

자바스크립트 프로그래밍 입문 - 6장 연습문제 풀이 공부하는 학생입니다. 복습을 위해 올리는 것이므로 틀린 풀이가 있을 수 있으므로 만약 틀린 풀이를 발견하시면 댓글로 써주시면 감사하겠습니다. 1. 다음 표를 자바스크립트 객체로 나타내시오(키 이름과 자료형은 적절하다고 생각하는 것으로 사용합니다.) 이름 Nature of Code 가격 30000DNJS 저자 다니엘 쉬프만 ISBN 9788968481901 페이지 수 620페이지 풀이. let object = { name : 'Nature of Code', price : 30000, author : '다니엘 쉬프만', isbn : 978896881901, 페이지수 : 620 } console.log(object); 2. 다음 표의 객체를 생성할 수 있는 ..

자바스크립트 프로그래밍 입문 - 5장 연습문제 풀이 [내부링크]

자바스크립트 프로그래밍 입문 - 5장 연습문제 풀이 공부하는 학생입니다. 복습을 위해 올리는 것이므로 틀린 풀이가 있을 수 있으므로 만약 틀린 풀이를 발견하시면 댓글로 써주시면 감사하겠습니다. 1. 다음 중 함수의 선언 방법으로 옳지 않은 것은? (1) function test() { console.log("테스트 함수입니다.") (2) let test = function () { console.log("테스트 함수입니다.") (3) function test() => { console.log("테스트 함수입니다.") (4) let test = () => { console.log("테스트 함수입니다.") 풀이. 3번 2. 다음 코드의 실행 결과를 예측하시오. function test(a, b, c) { c..

자바스크립트 프로그래밍 입문 - 4장 연습문제 풀이 [내부링크]

자바스크립트 프로그래밍 입문 - 4장 연습문제 풀이 공부하는 학생입니다. 복습을 위해 올리는 것이므로 틀린 풀이가 있을 수 있으므로 만약 틀린 풀이를 발견하시면 댓글로 써주시면 감사하겠습니다. 1. 다음 코드의 for 반복문을 while 반복문으로 바꿔 보시오. for (let i = 0; i < 10; i++) { console.log("출력"); } 풀이. let i = 0; while (i < 10) { console.log("출력"); i++; } 2. 다음 코드의 실행 결과를 예측해 보시오. for (let i = 0; i < 20; i = i + 2) { console.log("출력"); } 풀이. 출력 출력 출력 출력 출력 출력 출력 출력 출력 출력 3. 다음 출력을 생성하는 코드를 반복문으..

자바스크립트 프로그래밍 입문 - 3장 연습문제 [내부링크]

자바스크립트 프로그래밍 입문 - 3장 연습문제 풀이 공부하는 학생입니다. 복습을 위해 올리는 것이므로 틀린 풀이가 있을 수 있으므로 만약 틀린 풀이를 발견하시면 댓글로 써주시면 감사하겠습니다. 1. 다음 중 조건문과 관련된 키워드가 아닌 것은? (1) if (2) else (3) switch (4) const 풀이. 4번 2. 다음 코드의 주석 부분에서 변수 x와 y에 표와 같은 값을 할당할 때 나오는 출력 결과를 쓰시오. let x, y; // if (x > 4) { if ( y > 2 ) { console.log(x * y); } } else { console.log(); } x = 2, y = 10 x = 1, y = 4 x = 10, y = 2 풀이. 아무것도 나오지 않는다. 3. 다음 중첩 조건..

자바스크립트 프로그래밍 입문 - 2장 연습문제 풀이 [내부링크]

자바스크립트 프로그래밍 입문 - 2장 연습문제 풀이 공부하는 학생입니다. 복습을 위해 올리는 것이므로 틀린 풀이가 있을 수 있으므로 만약 틀린 풀이를 발견하시면 댓글로 써주시면 감사하겠습니다. 1. 다음 중 키워드가 아닌 것은? (1) for (2) if (3) const (4) console 풀이. 4번, console은 객체라고 한다. 2. 연산자 =. ==. ===의 ㅊ이점을 설명하시오. 풀이. '='는 대입연산자로써 말그대로 값을 대입하는데 쓰이고 '=='는 비교연산자로써 값이 같은지 확인하며 '==='는 일치연산자로써 자료형과 값이 같은지 확인한다. 3. 다음 중 false로 변환되는 것은? (1) '0' (2) 'false' (3) '' (4) 20 풀이. 3번, 빈 문자열은 Boolean으로..

자바스크립트 노드 console.log 대신 process.stdout.write()로 줄바꿈 문자 없애기 [내부링크]

자바스크립트 노드 console.log 대신 process.stdout.write()로 줄바꿈 없애기 자바스크립트 노드로 별만들기하다가 줄바꿈 문자 때문에 알아뒀다가 까먹었는데 인터넷에 검색하려고 '자바스크립트 줄바꿈 없애기', '자바스크립트 write', '자바스크립트 stdout' 등등 온갓 검색어로 검색했는데 나오질 않았다가 노드 js 노드 js console.log 줄바꿈 문자 없애기를 검색해서 찾아냈다... 또 까먹을까봐 써놓는다.

[C언어] 주소록에 이름과 전화번호를 입력하여 찾는 프로그램 [내부링크]

[C언어] 주소록에 이름과 전화번호를 입력하여 찾는 프로그램 #include #include int main() { char NAME[3][20], PHONE[3][20], SUCH[1][20]; int i, count = 0; /*이름과 전화번호를 배열에 저장*/ for (i = 0; i < 3; i++) { printf("%d st 사람 이름 : ", i + 1); scanf("%s", &NAME[i]); printf("%d st 사람 전화번호 : ", i + 1); scanf("%s", &PHONE[i]); } /*for (i = 0; i < 3; i++) { printf("%s %s\n", NAME[i], PHONE[i]); }*/ while (1) { /*찾을 사람을 SUCH[0]에 저장*/ p..

[C언어] 주사위를 돌려서 가장 많이 나온 수와 가장 적게 나온 수 구하기 [내부링크]

[C언어] 주사위를 돌려서 가장 많이 나온 수와 가장 적게 나온 수 구하기 밤마다 잠 안 오면 나만의 수면 방법을 시행합니다. 그건 바로 코드 짜기 코딩 문제 풀다가 잘 안 풀렸던 거 무조건 안 풀렸던 거여야 함 안 풀린 문제를 다시 풀면 한 문제 정도 두 문제는 잠 안옴 풀고 나면 개운해지면서 이대로 침대에 누우면 잠 정말 잘 옴 ㅋㅋㅋㅋ #include #include #include #define rOllSize 6 int main(void) { int i, iNputNumber, rAndomRoll; int rOllArray[7] = { 0, 0, 0, 0, 0, 0, 0 }, rOllmAxOverLap[7] = { 0, 0, 0, 0, 0, 0, 0 }, rOllmInOverLap[7] = { ..

[C언어] stdio.h 만 써서 (양수, 음수) 10진수를 2진수로 변환하는 코드 만들기 [내부링크]

(양수, 음수) 10진수를 2진수로 변환하는 프로그램.exe [C언어] stdio.h 만 써서 (양수, 음수) 10진수를 2진수로 변환하는 코드 만들기 오늘 기분 진짜 꿀꿀해서 마음 안정화및 평정심 유지를 위해 만들어 보고 싶었던 2진수 변환기를 만들었다. #include #define NINE 9999 int nUmberCheck(int arr[NINE]); int main() { int iNpuTnUmber = 0, qUotiEnt = 0, sTackCount = 0;// qUotiEnt = 몫 int i, u, biNaryCount, zEroCount, oCta; int biNaryArray[NINE];// 나머지가 저장되는 2진수 배열 while (true) { /*변수 초기화*/ biNaryCo..

[파이썬] Turtle 도형 그리기 for, 배열을 이용해서 무지개 색깔로 [내부링크]

[파이썬] Turtle 도형 그리기 for, 배열을 이용해서 무지개 색깔로 오늘 파이썬 배웠습니다 ㅋㅋㅋㅋㅋ 너무 재밌는것 turtle을 이용해서 도형을 그리는걸 배웠는데 이전에 배웠던걸 조금 사용해보니까 신기한게 막 나오는게 정말 재밌네요 ㅋㅋㅋㅋ for문과 배열을 이용해서 색깔이 무지개 처럼 나오는 도형을 만들어봤어요. import turtle t = turtle.Pen() t.speed(10) size = 5 colorsize = 0 color = ["#FF0000", "#FF5E00", "#FFBB00", "#FFE400", "#ABF200", "#1DDB16", "#00D8FF", "#0054FF", "#0100FF", "#5F00FF"] for i in range(999): for i in r..

[티스토리 스킨 만들기] 하단 썸네일, 태그 글자 수정하기 Related Articles 최근 기사 [내부링크]

[티스토리 스킨 만들기] 하단 썸네일 글자 수정하기 Related Articles 최근 기사 여기도 글자가 너무 흐리거나 작아서 수정하면 좋겠다 했는데 찾아버렸습니다 흐흐흐 ㅋㅋㅋㅋ 258줄 근처 코드를 아래 코드를 추가하고 조금 밑에 .date_related에 opacity를 살짝 수정하면 font-weight:600;text-shadow: 0 0 25px #000000; 이렇게! 가독성이 조금 늘어나게 될겁니다. 그리고 .link_related:hover로 수정해주고 다음 코드를 넣으면 마우스를 가져다 댔을 때 밑줄 생기는것 대신 사이즈 변경을 시각적으로 보여주게 됩니다!! 그리고 마지막으로 하나 더 바꿀건데 하단에 태그를 조금 바꿔볼겁니다. 244줄 근처의 코드를 수정하면 됩니다. 위 코드처럼 수정..

스크롤 바 CSS 만들기, 수정, div 스크롤 바, 특정 구역 스크롤 바 따로 만들기 총정리 [내부링크]

스크롤 바 만들기, 수정, div 스크롤 바, 특정 구역 스크롤 바 따로 만들기 총정리 div 스크롤 바, 특정 구역 스크롤 바 따로 만들기 제가 반응형 2 스킨을 수정하면서 알아낸게 있습니다. IE랑 크롬이랑 스크롤 바를 플러그인을 쓰는게 아니라면 각각설정해줘야하며 크롬 브라우저에서 특정 div의 스크롤 바를 수정하는 방법이 구글에 나와있지 않다는거... 찾느라 얼마나 힘들었는데!!! 그래서 다시금 글을 써보도록 합니다. 제 블로그를 보시면 아시겠지만 화면 가장 오른쪽에있는 스크롤 바와 왼쪽 메뉴를 눌렀을 때 나오는 스크롤 바가 서로 다르다는것을 볼 수 있습니다. (크롬에서) webkit이라는 다른 언어를 써서 그런가봅니다. div 스크롤 바 수정하기 우리는 특정 div의 스크롤 바를 수정할것이니 di..

[티스토리 스킨 만들기] 반응형 2 스킨 사이드, 카테고리 스크롤 바 없애기, 수정하기 [내부링크]

[티스토리 스킨 만들기] 반응형 2 스킨 사이드, 카테고리 스크롤 바 없애기, 수정하기 오늘 밤, 참으로 비극적인 얘기를 들어보시겠습니다! 가 아니라 굉장히 기쁜 소식이 있습니다. 바로! 반응형 2스킨의 사이드, 카테고리 부분의 스크롤 바 수정하는법을 찾았습니다!! 먼저 없애보도록 하고 그다음은 다른 모양으로 만들어 보겠습니다. 그럼 바로 수정하면서 글을 써보도록 해보겠습니다. 반응형 2 스킨 카테고리, 사이드 스크롤 바 없애기 먼저 HTML로 가시고 코드를 하나 넣어야 합니다. 182줄 근처의 를 찾으신 후 div 안에 -ms-overflow-style: none;를 생성해주세요. Ctrl + F -> area_sub를 검색하시면 빠르게 찾으실 수 있습니다. 이제 CSS로 가서 또 코드를 넣어줍시다. ..

[티스토리 스킨 만들기] 블로그 화면에 이미지 고정시키기, 구석에 고양이 만들기 [내부링크]

[티스토리 스킨 만들기] 블로그 화면에 이미지 고정시키기, 구석에 고양이 만들기 그냥 다른 사람들 블로그를 구경하면서 나도 뭐 꾸밀거 없나 했는데 갑자기 떠올랐습니다. 고양이를 넣자! 예전에도 화면에 이미지 고정시키는건 했었으니 고양이 이미지만 구하면 되겠네요. https://picrew.me/image_maker/48399 いのちにふさわしい|Picrew 晩御飯はカレー 「もうめっちゃくちゃ作り途中」から「めちゃくちゃ作り途中」くらいにはしておきました picrew.me 으ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 복실복실한게 귀여워 미치겠네요ㅋㅋㅋㅋㅋ 여튼 위 사이트는 자캐만들기로 유명한 사이트입니다. 대충 원하는 모양으로 만들고 저장합시다. 위 사진처럼 만들어줄겁니다. Html 편집에 파일 업로드로가서 해당 파일의 이름을 Back..

[티스토리 스킨 만들기] 반응형 2 스킨 사이드 바 꾸미기, 3단에서 2단으로, 글꼴, 색깔, 빠르게, 애니메이션 삭제 [내부링크]

[티스토리 스킨 만들기] 반응형 2 스킨 사이드 바 꾸미기, 3단에서 2단으로, 글꼴, 색깔, 빠르게, 애니메이션 삭제 이번에는 반응형 2 스킨 사이드 바를 꾸며보겠습니다. 사이드바가 너무 넓어서 내용이 가려지니까 줄일 필요가 있습니다. 그리고 애니메이션 때문에 느려지기도 하고 여러므로 수정할곳이 있습니다. 그래서 수정하면서 글을 써보겠습니다. 3단에서 2단으로 줄일려면 HTML의 2곳을 수정해야합니다. 약 183줄의 를 로 바꿔줍시다. 위 사진에 강조된 부분을 바꿔주시면 됩니다. 그리고 이제 약 238줄 근처에 ~ 를 아래사진처럼 삭제해줍니다. 이제 CSS로 가서 두곳을 수정해야합니다. .wrap_skin.navi_on {padding-left:960px}를 .wrap_skin.navi_on {padd..

[티스토리 스킨 만들기] 스크롤 바 모양 바꾸기, 스크롤 바 버튼 삭제 CSS 편집 [내부링크]

[티스토리 스킨 만들기] 스크롤 바 모양 바꾸기, 버튼 삭제 CSS 편집 오늘 또 여러 가지 편집하면서 올리게 되네요! 이번에는 스크롤 바 이런 걸 바꿀 겁니다. 이걸 왜 바꾸냐면 반응형 2 스킨에서 메뉴를 열면 정말 안 이쁘거든요;; 그래서 메뉴에서는 안 보이게 하려고 했으나 코드를 못 찾겠어서 모양을 좀 이쁘게? 만들려고 합니다. 언젠가 찾게 되겠죠 프로필 이미지 크기도 찾은 것처럼ㅎㅎ 이번에는 수정이 아닌 그냥 CSS에 넣으시면 됩니다. 스킨마다 다르겠지만 반응형 2에서는 직접 넣어줘야 합니다. /* 스크롤 바 */ ::-webkit-scrollbar { width: 15px; } ::-webkit-scrollbar-track { background-color: #F3F3F3; } ::-webkit..

[티스토리 스킨 만들기] 반응형 2 블로그 제목, 닉네임 CSS 크기, 굵기바꾸기 [내부링크]

전에 프로필 이미지 크기와 모양을 바꿔봤었죠 굉장히 맘에 듭니다. 이제 블로그 이름과 제 닉네임의 CSS를 바꿔보려고 합니다. 먼저 블로그 이름과 위에 바를 살짝 손봤습니다. HTML 편집 -> CSS로 이동하여 이 부분을 손봐주시면 됩니다. 먼저 이름 위의 바는 .area_head .area_profile:before{display:block;width:55px;height:2px;margin:0 auto 23px;background-color:#fff;content:''} 이 부분을 수정하시면 됩니다. 저는 width를 약간 넓혔습니다. 그리고 블로그 이름은 .area_head .area_profile .link_post{font-weight:400;font-size:38px;line-height:5..

[티스토리 스킨 만들기] 반응형 2 블로그 프로필 이미지 크기 변경하기 [내부링크]

[티스토리 스킨 만들기] 반응형 2 블로그 프로필 이미지 크기 변경하기 안녕하십니까 티스토리 하고 나서 바꾸고 싶었던 게 있었는데 요 반응형 2 스킨의 블로그 프로필 사진입니다. 반응형 2 스킨 자체는 정말 맘에들긴 하지만 프로필 이미지 크기가 너무작아서 보이질 않네요. 그래서 한동안 찾아보긴 했지만 원하는 답을 찾지 못했고 그러다 오늘 갑자기 이미지를 보고있는데 이게 원형태를 가지고 있으니까 반지름 값이 있지 않을까 그래서 radius 값을 찾아서 바꿔봤더니 됐습니다.. ㅋㅋㅋㅋㅋ 바로 글을 적으면서 수정해보도록 하겠습니다! ㄲ 먼저 이미지 크기를 바꾸기 전의 제 블로그 프로필 이미지 크기입니다. 제 자취 룸의 이상향이 있지만 작아서 보이질 않네요. 스킨 편집의 HTML 편집 -> CSS로 이동 HTM..

[티스토리 스킨만들기] 유튜브 재생목록을 블로그 배경음악으로 넣고 자동재생에 연속 재생까지 하는 법 [내부링크]

[티스토리 스킨만들기] 유튜브 재생목록을 블로그 배경음악으로 넣고 자동재생에 연속 재생까지 하는 법 한때 제가 고등학생일 때 야자시간과 현재 저의 불면증을 해소시켜주시는 세레노님의 진짜 진짜 좋은 음악을 제 블로그 배경음악에 두면 좋겠다고 생각해서 오늘 글 쓰면서 해보겠습니다!! https://www.youtube.com/channel/UC0kp1x32b-Y4cvP5r3vW_hw Sereno Make Peaceful Piano Music (like sereno) Contact : [email protected] www.youtube.com 유튜브 태그 생성기를 쓰면 간편하긴 한데 재생목록은 가져오지 못하더군요. 게다가 언제 생겼는지 몰랐는데 퍼가기 기능에 HTML 태그로 퍼가기 기능이 있더군요..

[어도비 크리에이티브 클라우드 클리너 툴] 크리에이티브 클라우드 없애기 윈도우, 맥 [내부링크]

https://helpx.adobe.com/kr/creative-cloud/kb/cc-cleaner-tool-installation-problems.html Creative Cloud Cleaner Tool을 사용하여 설치 문제 해결 자동 모드에서 Adobe Creative Cloud Cleaner Tool을 실행하여 이 도구로 제거할 수 있는 모든 제품을 나열합니다. 이렇게 하면 컴퓨터에 설치된 모든 Creative Cloud 또는 Creative Suite 앱을 제거하거나 도구가 생성하는 XML 파일에서 해당 줄을 주석 처리하여 선택한 앱을 제거할 수 있습니다. helpx.adobe.com 자세한 설명과 맥버전은 위 링크로 이동하면 정확한 정보를 얻으실 수 있습니다. 윈도우 버젼은 아래 크리에이티브 ..

[티스토리 스킨 만들기] 반응형2 스킨 사이드 배너 광고 만들기 [내부링크]

[티스토리 스킨 만들기] 반응형2 스킨 사이드 배너 광고 만들기 다른 사람들 블로그 보면 구글 광고만 4개 이상 달고 있는 걸 보신 적 있으실 겁니다. 구글 정책에 3개만 달도록 하고 있다던데 글 몇 천 개 쓰신 고수 블로거 께서 구글 광고 4개 이상 다셨으니 믿고 저도 4개 정도만 달아보겠습니다. 그래서! 사이드 에 광고를 달아볼 텐데 제 오른쪽 상단에 보시면 광고가 있습니다. 반응형2 스킨은 화면에 배너가 항상 보이는 게 아니라서 사이드바의 Html 배너를 사용하지 않고 만들 겁니다. 제 블로그 오른쪽에 보시면 sns 공유 버튼이나 상단 이동 등등 버튼이 보일 건데 똑같이 만들어줄 겁니다. 화면에 고정된 광고 만들기 보여줄 광고를 만들건대 우리는 디스플레이 광고를 만들어줄 겁니다. 자신이 원하는 모양..

[티스토리 스킨 만들기] 반응형 2 스킨 인피드 광고 5분만에 만들기 [내부링크]

[티스토리 스킨 만들기] 반응형 2 스킨 인피드 광고 5분 만에 만들기 안녕하세욥! 최근에 여러가지 일들이 생겨서 블로그를 전혀 하지 않았었는데 갑자기 구글애드센스 합격 메일이 왔더라구요 ㅋㅋㅋ;; 처음에 블로그 만들고 아무것도없었을 때 혹시나 하고 신청했으나 역시나 탈락 그리고 10개 정도 글을 올리고 신청 했으나 탈락이었는데 아니 ㅋㅋ 탈락하고 바로 신청했는데 갑자기 합격이래 ㅋㅋㅋㅋ 여튼 그래서 구글 광고를 달아보겠습니다. 먼저 제가 달아볼건 인피드 광고라는건데 저도 오늘 처음해봅니다! 블로그 홈에 글 속에 광고가 들어있는걸 보셨을겁니다. 위 사진처럼 글 속에 광고가 들어있는 이런 광고를 같이 달아보겠습니다! 1. 인피드 광고 단위 만들기 먼저 구글 애드센스에 접속을 하시고 광고 단위를 클릭하면 화..

[sniper] 스나이퍼 Https 차단 우회 컴퓨터 pc vpn 프로그램 다운로드 [내부링크]

[sniper] 스나이퍼 Https 차단 우회 컴퓨터 pc vpn 프로그램 다운로드 [sniper] Https 차단 우회 컴퓨터 스나이퍼 vpn 프로그램 다운로드 국민 Https 차단 우회 VPN 프로그램 Sniper PC버젼 베타가 있었습니다..! 안녕하십니까ㅏㅏㅏ 오늘 기분 좋은 소식을 들고 왔습니다! Https... 영원할 줄 알았죠 그런데 이렇게 쉽게 무너질 줄은 누가 알았겠습니까 ㅠㅜ.. 그런데! 저도 몰랐는데! 스나이퍼 pc 버젼이 생겼다고 합니다??? 앱은 자주 사용하는데 pc버전까지?? 저는 이때까지는 pc로 터치 vpn 사용했었는데.. 바로 갈아타야죠 ㅎㅎ Sniper 다운로드 링크 https://github.com/sniper-internet/Sniper-desktop-release..

[C, C++ 기초 강좌] #3. C언어 완전 초보를 위한 - 조건문과 반복문 [내부링크]

[C, C++ 기초 강좌] #3. C언어 완전 초보를 위한 - 조건문과 반복문 참, 거짓을 선택해서 프로그램을 만들 때 조건문을 사용합니다. 예를 들면 물건을 살 때 필요한 돈이 있는지 없는지 또는 정답인지 아닌지 등등 조건에 맞춰서 결정을 내리는걸 조건문이라고 합니다. if문과 switch문이 조건문에 해당하죠. 간단하게 필요한거만 설명하며! 시작하겠습니다~ 오늘의 목표 조건문과 반복문을 활용하여 선택 프로그램을 만들 줄 안다. if문이란 if는 우리말로 만약이라는 뜻을 가지고 있습니다. 여기서도 비슷한 의미를 가지는데 쉽게말하면if가 참이면 다음 문장을 실행한다는 의미가됩니다. #include int main(void) { int a = 4, b = 1; if (a > b) printf("참 입니다...

[티스토리 스킨 만들기] 티스토리 sns 공유 버튼 만들기(텀블러, 네이버, 트위터, 페이스북) [내부링크]

[티스토리 스킨 만들기] 티스토리 sns 공유 버튼 만들기(텀블러, 네이버, 트위터, 페이스북) 원래는 현재 add 사이트를 통해서 간단하게 넣으면 되지만! 제가 만든게 더 의미있겠죠 ㅎㅎ 그래서 그냥 인터넷 보고 책도 뒤져보고 만들었습니다!! 사이에 넣으시면 됩니다. 이미지 쓰고 싶으신분은 쓰세요~

[C, C++ 기초 강좌] #2. C언어 완전 초보를 위한 - 자료형과 형식 지정자, 변수 그리고 문자를 입력하여 계산기 만들기 [내부링크]

[C, C++ 기초 강좌] #2. C언어 완전 초보를 위한 - 자료형과 형식 지정자 그리고 간단한 계산기 만들기 오늘 날씨가 정말 덥네요. 미래의 여러분들 거기 날씨는 어떤가요.. 살만한가요~ 여튼! 이번에는 간다한 계산을 하는 프로그램을 만들어보겠습니다~ 오늘의 목표 1. 간단한 계산하는 프로그램을 만들 줄 안다. 자료형이란? 변수가 저장할 데이터가 어떤 형식인지 지정하는 거예요. 표준 자료형의 종류에는 정수형(short, int, long) 실수형(floar, double, long double) 문자형(char) 등이 있습니다. 정수형을 또 크게 나누자면 부호 있음과 부호 없음으로 나눌 수 있죠 short, int, long 앞에 unsigened만 붙이면 됩니다. 바이트수, 범위를 나타내면 아래 ..

_CRT_SECURE_NO_WARNINGS 비쥬얼스튜디오 오류 해결 [내부링크]

프로젝트 우클릭하여 속성을 클릭합니다. C/C++ 전처리기 정의 문자열 맨끝에 _CRT_SECURE_NO_WARNINGS를 복사하여 붙혀넣기 합니다.

티스토리 네이버 검색 등록 반영 웹마스터도구 총정리 [내부링크]

티스토리 네이버 검색 등록 반영 웹마스터도구 총정리 네이버 블로그를 운영할 때는 자동으로 네이버에 검색반영을 해주기 때문에 신경쓰지 않았지만 티스토리에 글을 쓸 때는 구글말고도 네이버까지 신경을 써야하는걸 이제야 알았습니다. 그래서 네이버 웹마트서도구를 방법이라던가 사이트맵 생성까지 한번 써보겠습니다. 네이버 웹마스터도구 https://webmastertool.naver.com/ 네이버 웹마스터도구 웹마스터도구에서 내 사이트의 검색 반영 정보와 웹 표준 가이드를 확인하세요 webmastertool.naver.com 네이버 웹마스터도구 사이트에 접속하여 로그인 후 자신의 티스토리 주소를 추가합니다. 구글 웹마스터도구를 사용해보신분이라면 간단하게 사용할 수 있겠죠! 사이트 소유확인은 티스토리니까 HTML 태..

닌텐도 DSTT 1.18 우드 최신 커널 다운로드 링크 [내부링크]

닌텐도 DS TT 1.18 우드 최신 커널 다운로드 링크 블랙2, 화이트2 작동 커널은 다음 글인 6.96 커널 링크에서 다운받으시면 됩니다. 레이튼교수 시리즈, 블랙1, 화이트1 구동 됩니다. DSTT 1.18 + 우드 커널 다운로드 링크 https://mega.nz/#!p6wi0KKZ!Tq0m5A8-EKxnxqv3r4Ay3we0rJmkDrHbi-Wz5lZ6F6I *ps. 크롬으로 다운 받으시면 원활하게 다운로드 가능합니다. *ps. 게임 파일은 압축 파일에 없습니다. 게임은 미리 준비하시거나 백업하세요. *ps. 커널 적용 후 실행하면 첫 화면은 우드 커널로 시작이 됩니다. dsttmenu를 클릭하면 dstt커널로 실행됩니다. *ps. 우드 커널은 치트가 없습니다. 치트를 사용하시려면 dstt커널..

[티스토리 스킨 만들기] 홈 버튼 블로그 대문으로 이동 만들기 [내부링크]

[티스토리 스킨 만들기] 홈 버튼 블로그 대문으로 이동 만들기 또 이렇게 스킨 만드는 글로 찾아뵙습니다~ 홈 버튼은 딱히 사라지게 만든다거나 할 필요가 없으니 쉽게 만들 수 있습니다. 홈버튼 만들기 이미지를 home 이름으로 설정하여 미리 업로드 하시고 아래 코드를 사이에 복사하여 넣으시면 됩니다. 그리고 제 블로그 주소 대신 다른 주소를 넣으시면 됩니다. 이미지 글자로 하시거나 이미지로 하시면 되는데 위 사진은 제 블로그에서 사용하는 버튼 이미지입니다. 사용하셔도 좋습니다~

[티스토리 스킨 만들기] 사이드바 공유 버튼 만들기 [내부링크]

[티스토리 스킨 만들기] 사이드바 공유 버튼 만들기 스킨 편집 두 번째 글입니다! 블로그 글을 올리고 보니 티스토리는 공유하는 버튼이 너무 작아 안보이더라고요 ㅋㅋㅋ.. 그래서 굉장한 사이트를 공유하고자 합니다. 이 글은 사이트 공유라서 카테고리를 html이 아닌 알쓸신사에 작성하게 되네요. ADDTHIS 아마도 이 사이트가 건재하다면 우리는 공유 기능을 계속 사용할 수 있을 겁니다. 코드를 보니까 이 사이트가 망하면 직접 코드를 짜야한다는 거... https://www.addthis.com/ Get more likes, shares and follows with free website tools - AddThis AddThis free website tools include share buttons, ..

[티스토리 스킨 만들기] TOP, BOTTOM, 위로 아래로 버튼 만들기 [내부링크]

[티스토리 스킨 만들기] TOP, BOTTOM 버튼 만들기 만약 모바일 버전으로 이 게시글을 보고 계신다면 피씨 버전으로 보시면 좋습니다! 안녕하세요~ 최근에 티스토리 시작한 Zynar 입니다 :) 네이버 블로그 보다 훨씬 자유롭다는 게 티스토리의 장점이죠 다만 네이버에서의 검색 유입이 어렵다는 거.. 여튼! 요즘 티스토리 스킨을 편집하면서 얻은? 코드들을 올리려고 합니다! 제 블로그를 보시면 알겠지만 화면 오른쪽에 위 화살표와 아래 화살표가 있습니다. 이걸 만드는 방법을 공유하고자 합니다. TOP, BOTTOM 버튼 만들기 1. 이미지 준비 먼저 방향을 표시할 이미지를 준비해야겠죠? 무료 이미지 파일 사이트에서 다운받거나 포토샵으로 만들던지 아니면 간단하게 그림판으로 만들어도 됩니다. 또는 제 블로그에..

닌텐도 DS TT 6.96 최신 블랙2, 화이트2 커널 다운로드 링크 [내부링크]

닌텐도 DS TT 6.96 최신 블랙2, 화이트2 커널 다운로드 링크 일부 오래된 게임은 실행되지 않을 수 있습니다. 이전 글 1.18 커널을 설치하시면 해결됩니다. DSTT 6.96 커널 다운로드 링크 https://mega.nz/#!Iz4SiKAB!8q-TAvHX6oWGzFMNWj_U_gXPISv2jHCtQ7DoI0P5Yi0 *ps. 크롬으로 다운 받으시면 원활하게 다운로드 가능합니다. *ps. 게임 파일은 압축 파일에 없습니다. 게임은 미리 준비하시거나 백업하세요. 적용 방법 1. 기존 DSTT칩의 SD카드 안에 있는 파일과 풀더들을 다른 안전한 장소에 백업합니다. 2. sd카드를 FAT 32 형식으로 포맷합니다. 3. 다운로드 받은 커널을 SD카드에 복사합니다. 4. 미리 백업한 게임을 넣고 ..

[솔직 리뷰] kt slim egg2 세 달 사용 후기 [내부링크]

[솔직 리뷰] kt slim egg2 세 달 사용 후기 안녕하세요 Zynar 입니다! 티스토리에서 IT기기 리뷰는 이게 처음이네요 ㅎ 오늘 에그 사용하면서 느낀 점을 전부 적어보겠습니다 :) 근데 보통 한 달 사용 후 후기를 적는데 까먹음 ㅎㅎㅎㅎ 티스토리 만든 김에 올립니다~ 저는 에그를 들고 다니는 와이파이 정도로 생각했었어요. 많은 데이터 용량과 빠른 속도를 2만 원 정도에 해결할 수 있을 거란 생각에 사용하게 되었고 앞으로 에그를 쓰실 분들을 위해 제 생각을 쓰게 되네요! IML520 Slim egg2 처음엔 가볍고 오래간다는 말에 그냥 고른 거 같아요. 여기서 문제점이 발견됐습니다. 16시간.. 정말 오래가죠? 근데 왜 체감상 6시간 정도밖에 사용을 못하는 거 같지 ㅋㅋㅋㅋ 절전모드 사용하면 6..

[C, C++ 기초 강좌] #1. C언어 완전 초보를 위한 - Hello World! 화면에 텍스트 출력 및 주석 적는 법 [내부링크]

[C, C++ 기초 강좌] #1. C언어 완전 초보를 위한 - Hello World! 화면에 텍스트 출력 및 주석 적는 법 오늘의 목표 1. 화면에 Hello World!를 출력한다. 2. 주석을 활용한다. /* Hello World를 출력하는 프로그램입니다. */ #include// stdio.h 파일을 포함 int main(void)// 메인 함수 시작 { printf("Hello World!\n");// Hello World!를 출력합니다. return 0;// 외부로 0을 반환합니다. } 첫 시작은 보고 따라 입력하는게 정석이라고 할 수 있습니다. 우리가 언어를 배울 때 단어라던지 문법이라던지 이해하기 위해서 암기하는 거랑 같다고 생각되네요. Hello World를 출력하는 방법은 굉장히 다양하지..

비쥬얼스튜디오 프로세스이(가) 0 코드로 인해 종료되었습니다. 문구 없애기 [내부링크]

비쥬얼스튜디오 프로세스이(가) 0 코드로 인해 종료되었습니다. 문구 없애기 위 사진 처럼 (가) 0 코드로 인해 종료되었습니다. 문구를 없애보겠습니다. 도구 -> 옵션 디보깅 -> 일반 -> 디버깅이 중지되면 자동으로 콘솔 닫기 체크

[C, C++ 기초 강좌] #0. C언어 완전 초보를 위한 - 비쥬얼스튜디오 설치 방법 및 프로젝트 생성 [내부링크]

[C, C++ 기초 강좌] #0. C언어 완전 초보를 위한 - 프로그램 설치 및 프로젝트 생성 요즘 독학으로 C언어를 배우고 공부하는 사람들이 늘었습니다. 저 또한 도움이 되고자 강좌를 올립니다. 1. 비쥬얼스튜디오 설치 https://docs.microsoft.com/ko-kr/visualstudio/install/install-visual-studio?view=vs-2019 Visual Studio 설치 Visual Studio를 설치하는 방법을 단계별로 알아봅니다. docs.microsoft.com 위 홈페이지에 설치 방법이 자세히 나와있습니다. 프로그램을 설치하시고 실행하셔서 데스크톱 개발 C++ 빌드를 설치합니다. 2. 비쥬얼스튜디오 프로젝트 생성 파일 -> 새로 만들기 -> 프로젝트 클릭 또는..

kt slim egg2 에그2 비밀번호 잊어버렸을 때 공장초기화 방법 [내부링크]

kt slim egg2 에그2 비밀번호 잊어버렸을 때 공장초기화 방법 kt 에그는 뒷면에 출시 비밀번호가 적혀있죠 그런데 사용자가 임의로 비밀번호를 설정하다가 까먹게 되는 경우가 있습니다. 그래서 kt slim egg2 공장초기화 방법을 공유하려고 합니다. 공장초기화 방법은 에그 사용설명서에 나와있었습니다. 제품이 켜져있을 때 전원버튼을 30초 이상 누르면 자동으로 재부팅되면서 공장초기화가 진행됩니다.

KT Slim egg2 슬림 에그2 멈춤 해결 재부팅 방법 [내부링크]

KT Slim egg2 슬림 에그2 멈춤 해결 재부팅 방법 며칠 전까지 슬림 에그2를 사용하면서 아무 이상이 없었는데 오늘 사용하다가 갑자기 멈춰버렸네요. 계속 파란불만 켜지고 전원 버튼을 계속 눌러봐도 아무 반응이 없길래 어떻게 하지 하다가 강제 재부팅 버튼이 있다는 게 떠올랐습니다. 기기 측면에 유심을 장착하는 부분의 덮게를 열면 유심 구멍 옆에 작은 버튼이 있습니다. 유심을 꺼내고 버튼을 누르시면 자동으로 리셋됩니다. 리셋 버튼을 볼펜이나 이쑤시개 같은 걸로 누르고 재부팅되니 잘 작동되었습니다 :)

시즌 드라마 신병에 최종훈이 특별출현 했네요 [내부링크]

오늘 신병을 봤는데 당직사관역으로 최종훈이 나와서 신기했네요 ㅋㅋㅋㅋㅋㅋㅋㅋ 장삐쭈 원작 애니메이션 신병에 저녁점호 편의 중사 당직사관 역으로 나왔더군요 원작에선 중사였는데 보니까 상사가 되었네..

가방을 매다, 메다 차이, 국립국어원 정리 맞는 문법 표현 [내부링크]

가방을 매다, 메다를 궁금해 하시는 분들이 있습니다. 사실 가방을 매다, 가방을 메다에는 결론이 있었는데요. 매다 vs 메다 '매다' -> "끈이나 줄 따위의 두 끝을 풀ㅇ어지지 않게 마디를 만들다"라는 뜻으로 쓰..

아베 총격에 사망, 용의자 야마가미 테츠야 40대 일본인 [내부링크]

https://www.onews.tv/news/articleView.html?idxno=131173 [속보] 아베, 끝내 사망...목·어깨 관통상에 과다출혈이 사인 - 열린뉴스통신 (서울=열린뉴스통신) 안준용 기자 = 아베 신조 전 일본 총리(67세)가 선..

세브란스: 단절 등장인물, 줄거리, 다시보기 사이트 [내부링크]

https://tv.apple.com/kr/show/%E1%84%89%E1%85%A6%E1%84%87%E1%85%B3%E1%84%85%E1%85%A1%E1%86%AB%E1%84%89%E1%85%B3-%E1%84%83%E1%85%A1%E1%86%AB%E1%84%8C%E1%85%A5%E1%86%AF---severance/umc.cmc.1srk2goyh2q2..

일본 아베 전 총리 연설 중 총격으로 심폐 정지, 의식 없는 상태 [내부링크]

일본 아베 전 총리가 일본 나라시에서 유세 중 현장의 괴한에게 총격을 당했다고 합니다. 일본 언론 NHK는 8일 오전 11시 반경 현지 취재하던 기자로부터 총성 2회가 들렸고, 아베 전 총리는 피를 흘리고 쓰러져..

이상한 변호사 우영우 넷플릭스 다시보기 사이트 [내부링크]

이상한 변호사 우영우 이상한 변호사 우영우가 넷플릭스에서 뜨고 있죠 자폐 스펙트럼 장애를 가지고 있지만 변호사라는 주제와 연기자의 캐릭터 특유 발음과 행동을 너무나 잘 표현했다는 평가로 현재 점유율 1..

티스토리 스킨을 찾다가 베리 스킨을 알게되었습니다 [내부링크]

이거 너무 좋은거같아요 개발자님 감사합니다!!!

티스토리 블로그에 정말 오랜만에 돌아와서 한 일 [내부링크]

잡담 카테고리를 만들었다!! 전산회계2급을 공부중인데 기말수정분개 너무어렵고

국민의 힘 윤리위 이준석 당원권 정지 6개월 중징계 의결, 윤 대통령 "당원으로서 안타깝고 대통령으로서 당무 언급 부적절" [내부링크]

국민의 힘 중앙윤리위원회는 8일 이준석 대표에게 '당원권 6개월 정지'라는 중징계를 결정했습니다. 윤리위는 '성 상납 증거인멸 교사' 의혹을 받는 이준석 대표의 '품위 유지 의무 위반'을 이유로 징계를 결정했..

미디어 인코더 CC 2020 크랙 다운로드 (간단하게 가능) [내부링크]

미디어 인코더 CC 2020 크랙 다운로드 (간단하게 가능) 전에 있던 글이 잘려서 각 제품별로 따로 링크를 올리기로 했어요. 이번에는 메가 링크는 제공하지 않고 해외 사이트로 들어가는 링크만 공유하겠습니다...

애프터 이펙트 CC 2020 크랙 다운로드 (간단하게 설치 가능해요) [내부링크]

애프터 이펙트 CC 2020 크랙 다운로드 (간단하게 설치 가능해요) 전에 있던 글이 잘려서 각 제품별로 따로 링크를 올리기로 했어요. 이번에는 메가 링크는 제공하지 않고 해외 사이트로 들어가는 링크만 공유하겠..

라이트룸 클래식 cc 2020 크랙 다운로드 (쉽게 설치 가능) [내부링크]

라이트룸 클래식 cc 2020 크랙 다운로드 (쉽게 설치 가능) 전에 있던 글이 잘려서 각 제품별로 따로 링크를 올리기로 했어요. 이번에는 메가 링크는 제공하지 않고 해외 사이트로 들어가는 링크만 공유하겠습니다..

프리미어 프로 CC 2019 크랙 다운로드 (쉽게 설치할 수 있어요) [내부링크]

프리미어 프로 CC 2019 크랙 다운로드 (아주 쉽게 다운로드 가능) 전에 있던 글이 잘려서 각 제품별로 따로 링크를 올리기로 했어요. 이번에는 메가 링크는 제공하지 않고 해외 사이트로 들어가는 링크만 공유하겠..

포토샵 CC 2019 크랙 다운로드 (아주 쉽게 다운로드 가능) [내부링크]

포토샵 CC 2019 크랙 다운로드 (아주 쉽게 다운로드 가능) 전에 있던 글이 잘려서 각 제품별로 따로 링크를 올리기로 했어요. 이번에는 메가 링크는 제공하지 않고 해외 사이트로 들어가는 링크만 공유하겠습니다..

포토샵, 프리미어, 에펙 크랙 다운로드 방법 CC 2019, 2020 (쉽게 다운로드 가능) [내부링크]

포토샵, 프리미어, 에펙 크랙 다운로드 방법 CC 2019, 2020 제 예전 글들이 어도비에서 신고가 들어와서 게시 삭제 당했습니다. 그래서 새로 글을 써보고자 올리게 되었네요. 예전에 댓글에 일러스트레이트나 라이..

애프터 이펙트 CC 2019 무료 크랙 다운로드 및 설치 방법 인증 확인 [내부링크]

애프터 이펙트 CC 2019 무료 크랙 다운로드 및 설치 방법 인증 확인 어도비 앱들이 업데이트되면서 기존 크랙으로는 정품인증이 불가능해졌습니다. DLL이 없습니다 오류도 이 때문인데 해결 방법을 가져왔습니다...

프리미어 프로 CC 2019 크랙 다운로드 및 설치 방법 (실행 확인!!) [내부링크]

프리미어 프로 CC 2019 크랙 다운로드 및 설치 방법 (실행 확인!!) 어도비 앱들이 업데이트되면서 기존 크랙으로는 인증이 되지 않습니다. 그래서 크리에이티브 클라우드를 삭제 후 해당 파일을 설치하면 정상적..

포토샵 cc 2019, 크랙 다운 및 설치 방법 (실행 확인!!) [내부링크]

포토샵 cc 2019, 크랙 다운 및 설치 방법 (실행 확인!!) 포토샵을 설치해야 하는데 예전처럼 amtlib.dll 같은걸 복붙 하는 게 아니라 다른 게 생겼더라구요... 게다가 업데이트되면서 오류가 생겨서 고생 좀 했지..

72f84b6f2d3d4ce2a46946cb208c7169 [내부링크]

72f84b6f2d3d4ce2a46946cb208c7169