본문 바로가기
반응형

전체 글908

c언어 총정리 6 - 구조체 구조체 정의 C언어에서 구조체는 포인터 변수와 배열 포함한 변수을 묶어서 새 자료형을 정의합니다. 1 2 3 4 5 struct point { int xpos; char name[20]; }; 구조체의 이름이 자료형의 이름이 된다. 기본 자료형은 아니지만, 묶어서 새로운 자료형을 만든 것이다. (사용자 정의 자료형 - user definded data type) 배열도 값이 저장이 가능한 변수의 성격을 가지기 때문에 구조체의 멤버가 될 수 있다. 구조체 변수의 선언과 접근 구조체 변수로 자료형들을 대상으로 변수를 선언할 수 있다. 1 2 // 구조체 변수선언의 기본 형태 struct type_name val_name; 구조체 변수를 선언할 때는 맨 앞에 struct 선언을 추가한다. 생성된 구조체의 접근.. 2023. 9. 1.
c언어 총정리1 - 기본 C언어 기본 1971년 유닉스라는 운영체제를 개발하기 위해 데니스 리치와 켄 톰슨이 함께 설계한 범용적인 고급 언어(High-level) 언어 유닉스는 어셈블리 언어라는 저급(low-level) 언어로 만들어졌기 때문에 하드웨어의 의존도가 높았다. (이식성이 낮다) -> cpu의 종류가 바뀌면 다시 작성 절차지향적 특성 – 정해진 순서의 실행흐름 중시 이식성이 좋다 – cpu의 종류에 상관없이 실행, 운영체제의 차이에 덜 민감 좋은 성능 – 성능에 민감한 소프트웨어의 개발에 주로 사용, 메모리의 양이 상대적으로 적고, 속도를 저하시키는 요소들을 최소화한 언어. 작성, 실행 방법 프로그램 작성 컴파일(Complie) 링크(Link) 실행파일 생성 c프로그램을 이루는 파일의 종류는 소스파일과 헤더파일 등으로.. 2023. 8. 30.
마크다운(Markdown) 하이퍼링크 사용하기 안녕하세요. 이번 포스팅은 마크다운(Markdown)에서 하이퍼링크 삽입하기 입니다. 1 # [제목](https://codeomni.tistory.com/) cs 링크를 걸 단어에 [ ] 괄호로 표시하고 ( ) 사이에 주소를 입력합니다. 2023. 8. 2.
마크다운(Markdown) 줄긋기 안녕하세요. 이번 포스팅은 마크다운(Markdown)에서 줄긋기입니댜. 1 2 3 4 5 * * * *** ***** - - - ------------------ cs 취소선을 긋는 방법은 5개입니다. 1번 ~ 5번 중에서 편한 방법을 사용하면 됩니다. 2023. 8. 1.
[SWEA] SWEA 5549번: 홀수일까 짝수일까 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 5549번 문제 풀이입니다. 문제 이름은 "홀수일까 짝수일까" 입니다. 풀이 1 2 3 4 5 6 7 T = int(input()) for tc in range(T): N = int(input()) if N % 2 == 0: print('#%d Even' %(tc+1)) else: print('#%d Odd' %(tc+1)) cs 핵심: 파이썬의 정수 범위는 무한대입니다. 1. 테스트의 수를 입력 받습니다. 2. for문을 통해 테스트 수 만큼 반복합니다. 3. 판별할 수 N을 입력 받습니다. 4~5. 2로 나눈 나머지가 0일 경우 짝수를 출력합니다. 6~7. 2로 나눈 나머지가 1일 경우 홀수를 출력합니다. 2023. 4. 26.
[SWEA] SWEA 1220번: Magnetic 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 1220번 문제 풀이입니다. 문제 이름은 "Magnetic" 입니다. 풀이 1 2 3 4 5 6 7 8 9 10 11 12 13 14 for tc in range(10): N = int(input()) l = [list(map(int, input().split())) for i in range(N)] result = 0 for i in range(N): cout = 0 for j in range(N): if l[j][i] == 1: cout = 1 if l[j][i] == 2: if cout == 1: result += 1 cout = 0 print('#%d %d' %((tc+1), result)) cs 핵심: 열우선으로 탐색하여 1이 있을 경우 카운트해서 2을 만날.. 2023. 4. 18.
[SWEA] SWEA 3260번: 두 수의 덧셈 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 3260번 문제 풀이입니다. 문제 이름은 "두 수의 덧셈" 입니다. 풀이 1 2 3 4 T = int(input()) for tc in range(T): A, B = map(int, input().split()) print('#%d %d' %((tc+1), A+B)) cs 핵심: 파이썬의 정수 범위는 무한대입니다. 1. 테스트의 개수를 입력 받습니다. 2. for문으로 테스트의 수만큼 반복합니다. 3. A, B를 입력 받습니다. 4. 출력 양식에 맞게 결과값을 출력합니다. 2023. 4. 17.
[SWEA] SWEA 1217번: 거듭 제곱 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 1217번 문제 풀이입니다. 문제 이름은 "거듭 제곱" 입니다. 풀이 1 2 3 4 5 6 7 8 9 def mul(N, M): if M 2023. 4. 17.
[SWEA] SWEA 1213번: String 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 1213번 문제 풀이입니다. 문제 이름은 "String" 입니다. 풀이 1 2 3 4 5 for tc in range(10): T = int(input()) s_1 = input() s_2 = input() print('#%d %d' %((tc+1), s_2.count(s_1))) cs 핵심: 파이썬의 내장함수인 count() 함수를 사용합니다. 1. 테스트 개수 10만큼 반복합니다. 2. 테스트 순번을 입력 받습니다. 3. 찾을 문자열을 입력 받습니다. 4. 문장을 입력 받습니다. 5. 출력 양식에 맞게 결과값을 출력합니다. 2023. 4. 17.
[SWEA] SWEA 1209번: Sum 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 1209번 문제 풀이입니다. 문제 이름은 "Sum" 입니다. 풀이 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 for tc in range(10): T = int(input()) l = [list(map(int, input().split())) for i in range(100)] max = 0 for i in range(100): s = 0 for j in range(100): s += l[i][j] if max 2023. 4. 17.
[SWEA] SWEA 1208번: Flatten 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 1208번 문제 풀이입니다. 문제 이름은 "Flatten" 입니다. 풀이 1 2 3 4 5 6 7 8 9 10 11 for tc in range(10): dump = int(input()) l = list(map(int, input().split())) for i in range(dump): l_max = max(l) l_min = min(l) l_max_index = l.index(l_max) l_min_index = l.index(l_min) l[l_max_index] -= 1 l[l_min_index] += 1 print('#%d %d' %((tc+1), max(l)-min(l))) cs 핵심: 리스트로 입력 받아서 최댓값에서 -1, 최솟값에서 +1을 해줍니다.. 2023. 4. 17.
[SWEA] SWEA 14692번: 통나무 자르기 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 14692번 문제 풀이입니다. 문제 이름은 "통나무 자르기" 입니다. 풀이 1 2 3 4 5 6 7 T = int(input()) for tc in range(T): N = int(input()) if N % 2 == 1: print('#%d ' %(tc+1) + 'Bob') else: print('#%d ' %(tc+1) + 'Alice') cs 핵심: 입력된 값을 나머지 연산자로 계산합니다. 1. 테스트 개수 T를 입력 받습니다. 2. for문으로 테스트 수 T만큼 반복합니다. 3. 통나무의 길이 N을 입력 받습니다. 4. 홀수일 경우 'Bob'을 출력, 짝수일 경우 'Alice'를 출력합니다. 2023. 4. 17.
[SWEA] SWEA 15758번: 무한 문자열 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 15758번 문제 풀이입니다. 문제 이름은 "무한 문자열" 입니다. 풀이 1 2 3 4 5 6 7 8 9 T = int(input()) for tc in range(T): S, T = input().split() s_len = len(S) t_len = len(T) if S * t_len == T * s_len: print('#%d ' %(tc+1) +'yes') else: print('#%d ' %(tc+1) +'no') cs 핵심: 문자열의 크기 만큼 S와 T에 곱해준 뒤에 비교합니다. 1. 테스트 개수 T를 입력 받습니다. 2. for 문을 사용해서 테스트 개수만큼 반복합니다. 3. 문자열 S와 T를 입력 받습니다. 4~5. len() 함수를 사용해서 문.. 2023. 4. 16.
[SWEA] SWEA 15230번: 알파벳 공부 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 15230번 문제 풀이입니다. 문제 이름은 "알파벳 공부" 입니다. 풀이 1 2 3 4 5 6 7 8 9 10 11 alpha = 'abcdefghijklmnopqrstuvwxyz' T = int(input()) for tc in range(T): s = input() cout = 0 for i in range(len(s)): if alpha[i] == s[i]: cout += 1 else: break print('#%d %d' %((tc+1), cout)) cs 핵심: 알파벳을 사전에 나열한 후 비교합니다. 1. 알파벳을 사전에 나열합니다. 2. 테스트 개수 T를 입력 받습니다. 3. for 문을 사용해서 테스트 개수만큼 반복합니다. 4. 비교할 문자열을 입력.. 2023. 4. 16.
[SWEA] SWEA 15941번: 평행사변형 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 15941번 문제 풀이입니다. 문제 이름은 "평행사변형" 입니다. 풀이 1 2 3 4 T = int(input()) for tc in range(T): N = int(input()) print('#%d %d' %((tc+1), int(N**2))) cs 핵심: 모든 변의 길이가 N인 평행사변형의 넓이는 항상 같습니다. 1. 테스트 개수 T를 입력 받습니다. 2. for 문을 사용해서 테스트 개수만큼 반복합니다. 3. 숫자 N을 입력 받습니다. 4. 출력 양식에 맞게 테스트 개수와 평행사변형의 넓이를 출력합니다. 2023. 4. 16.
[SWEA] SWEA 1946번: 간단한 압축 풀기 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 1946번 문제 풀이입니다. 문제 이름은 "간단한 압축 풀기" 입니다. 풀이 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 T = int(input()) for tc in range(T): N = int(input()) result = [] cout = 1 for i in range(N): s, num = input().split() num = int(num) for j in range(num): result.append(s) print('#%d' %(tc+1)) for i in result: if cout % 10 != 0: print(i, end='') else: print(i) cout +=1 print() cs 핵심: 빈 리스.. 2023. 4. 16.
[SWEA] SWEA 1966번: 숫자를 정렬하자 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 1966번 문제 풀이입니다. 문제 이름은 "숫자를 정렬하자" 입니다. 풀이 1 2 3 4 5 6 7 8 9 T = int(input()) for tc in range(T): N = int(input()) l = list(map(int, input().split())) l.sort() print('#%d' %(tc+1), end=' ') for i in l: print(i, end=' ') print() cs 핵심: 파이썬의 sort() 함수를 사용합니다. 1. 테스트 개수 T를 입력 받습니다. 2. for 문을 사용해서 테스트 개수만큼 반복합니다. 3. 숫자 N을 입력 받습니다. 4. 리스트를 선언해서 수들을 입력 받습니다. 5. 파이썬의 내장함수인 s.. 2023. 4. 15.
[SWEA] SWEA 1979번: 어디에 단어가 들어갈 수 있을까 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 1979번 문제 풀이입니다. 문제 이름은 "어디에 단어가 들어갈 수 있을까" 입니다. 풀이 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 T = int(input()) for tc in range(T): N, K =map(int, input().split()) l = [list(map(int, input().split())) for i in range(N)] result = 0 for col in range(N): cout = 0 for row in range(N): if l[col][row] == 1: cout += 1 if (l[col][row] == 0) or (row == N-1): if cout == K.. 2023. 4. 15.
[SWEA] SWEA 1984번: 중간 평균값 구하기 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 1984번 문제 풀이입니다. 문제 이름은 "중간 평균값 구하기" 입니다. 풀이 1 2 3 4 5 6 7 8 9 10 11 T = int(input()) for i in range(T): l = list(map(int, input().split())) l_max = max(l) l_min = min(l) l.remove(l_max) l.remove(l_min) l_s = 0 for j in l: l_s += j print('#%d %d' %((i+1), round(l_s/len(l)))) cs 핵심: 리스트의 max(), min(), remove() 함수를 사용합니다. 1. 테스트 개수 T를 입력 받습니다. 2. for 문을 사용해서 테스트 개수만큼 반복합니다... 2023. 4. 14.
[SWEA] SWEA 1986번: 지그재그 숫자 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 1986번 문제 풀이입니다. 문제 이름은 "지그재그 숫자" 입니다. 풀이 1 2 3 4 5 6 7 8 9 10 T = int(input()) for i in range(T): N = int(input()) s = 0 for j in range(1, N+1): if j % 2 == 1: s += j else: s -= j print('#%d %d' %((i+1), s)) cs 핵심: 2로 나눈 나머지가 1일 경우 홀수, 0일 경우 짝수로 판별하여 계산합니다. 1. 테스트 개수 T를 입력 받습니다. 2. for 문을 사용해서 테스트 개수만큼 반복합니다. 3. 숫자 N을 입력 받습니다. 4. 결과값을 출력할 변수를 선언합니다. 5. for 문을 통해 1부터 .. 2023. 4. 14.
[SWEA] SWEA 1989번: 초심자의 회문 검사 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 1989번 문제 풀이입니다. 문제 이름은 "초심자의 회문 검사" 입니다. 풀이 1 2 3 4 5 6 7 8 T = int(input()) for i in range(T): s = input() s_r = s[::-1] if s == s_r: print('#%d 1' %(i+1)) else: print('#%d 2' %(i+1)) cs 핵심: 문자열을 거꾸로 뒤집어서 판변합니다. 1. 테스트 개수 T를 입력 받습니다. 2. for 문을 사용해서 테스트 개수만큼 반복합니다. 3. 회문을 판별할 문자열을 입력 받습니다. 4. 문자열을 슬라이싱 기능을 사용해서 뒤집습니다. 5~6. 문자열을 비교했을 경우 회문이면 테스트 번호와 1을 출력합니다. 7~8. 회문.. 2023. 4. 14.
[SWEA] SWEA 2007번: 패턴 마디의 길이 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 2007번 문제 풀이입니다. 문제 이름은 "패턴 마디의 길이" 입니다. 풀이 1 2 3 4 5 6 7 8 9 10 11 T = int(input()) for i in range(T): s = input() p_1 = [] p_2 = [] for j in range(10): p_1 = s[:j] p_2 = s[j:j*2] if (j != 0) and (p_1 == p_2): print('#%d %d' %((i+1), len(p_1))) break cs 핵심: 슬라이싱 기능을 사용해서 처음부터 j 이전의 패턴과 j부터 j*2의 패턴이 같은지 판별합니다. 1. 테스트 개수 T를 입력 받습니다. 2. for 문을 사용해서 테스트 개수만큼 반복합니다. 3. 패턴을 판.. 2023. 4. 13.
[SWEA] SWEA 1926번: 간단한 369게임 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 1926번 문제 풀이입니다. 문제 이름은 "간단한 369게임" 입니다. 풀이 1 2 3 4 5 6 7 8 9 10 11 N = int(input()) for i in range(1, N+1): l = str(i) cout = 0 for j in l: if j == '3' or j == '6' or j == '9': cout += 1 if cout > 0: print('-'*cout, end=' ') else: print(i, end=' ') cs 핵심: 문자열로 변환하여 3, 6, 9 가 있으면 카운트를 해줍니다. 36일 때는 문자열로 탐색하면 카운트가 2이므로 -를 2번 출력합니다. 1. 숫자 N을 입력 받습니다. 2. for 문을 통해 1부터 N까지 순서대로 .. 2023. 4. 13.
[SWEA] SWEA 2043번: 서랍의 비밀 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 2043번 문제 풀이입니다. 문제 이름은 "서랍의 비밀번호" 입니다. 풀이 1 2 3 4 5 P, K = map(int, input().split()) if P >= K: print(P-K+1) else: print(K-P+1+999) cs 핵심: 조건문을 통해 K보다 P가 클 경우를 처리합니다. 1. K와 P를 입력 받습니다. 2~3. P가 K보다 클 경우 출력합니다. 4~5. K가 P보다 클 경우 0~999까지 순환하므로 999를 더해줍니다. 2023. 4. 13.
[SWEA] SWEA 2029번: 몫과 나머지 출력하기 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 2029번 문제 풀이입니다. 문제 이름은 "몫과 나머지 출력하기" 입니다. 풀이 1 2 3 4 T = int(input()) for i in range(T): a, b = map(int, input().split()) print('#%d %d %d' %((i+1), a//b, a%b)) cs 핵심: 몫과 나머지를 출력하는 연산자를 사용합니다. 1. 테스트 개수 T를 입력 받습니다. 2. for문으로 테스트 수 T만큼 반복합니다. 3. a, b를 공백 기준으로 입력 받습니다. 4. 출력 양식에 맞게 결과값을 출력합니다. 2023. 4. 12.
[SWEA] SWEA 2027번: 대각선 출력하기 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 2027번 문제 풀이입니다. 문제 이름은 "대각선 출력하기" 입니다. 풀이 1 2 3 4 5 6 7 for i in range(5): for j in range(5): if i == j: print('#', end='') else: print('+', end='') print() cs 핵심: 이중 for문을 통해 i와 j가 같은 경우 '#'을 출력합니다. 1~2. 이중 for 문을 통해 탐색합니다. 3~4. i와 j가 같은 경우는 대각선이므로 #을 출력합니다. 5~6. 대각선이 아닐 경우는 '+'를 출력합니다. 4. for문으로 j의 순회가 끝나면 출력 양식에 맞게 줄바꿈을 해줍니다. 2023. 4. 12.
[SWEA] SWEA 2025번: N줄덧셈 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 2025번 문제 풀이입니다. 문제 이름은 "N줄 덧셈" 입니다. 풀이 1 2 3 4 5 N = int(input()) s = 0 for i in range(1, N+1): s += i print(s) cs 핵심: for문을 사용해서 1부터 N까지의 합을 구합니다. 1. 정수 N을 입력 받습니다. 2. 합계를 저장할 변수를 선언합니다. 3~4. for문을 사용해서 1부터 N까지의 합을 순서대로 더합니다. 5. 양식에 맞게 결과값을 출력합니다. 2023. 4. 12.
[SWEA] SWEA 1938번: 아주 간단한 계산기 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 1938번 문제 풀이입니다. 문제 이름은 "아주 간단한 계산기" 입니다. 풀이 1 2 3 4 5 6 a, b = map(int, input().split()) print(a+b) print(a-b) print(a*b) print(int(a/b)) Colored by Color Scripter cs 핵심: 나눗셈을 출력하는 경우 정수형으로 반환하기 때문에 int() 함수를 사용합니다. 1. 자연수 a, b 를 입력 받습니다. 2~4. 사칙연산자를 사용해서 결과값을 출력합니다. 5. 결과값은 정수형으로 출력되므로 int() 함수를 사용합니다. 2023. 4. 12.
[SWEA] SWEA 1933번: 간단한 N 의 약수 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 1933번 문제 풀이입니다. 문제 이름은 "간단한 N 의 약수" 입니다. 풀이 1 2 3 4 N = int(input()) for i in range(1, N+1): if N % i == 0: print(i, end=' ') cs 핵심: for문을 사용해서 N을 순차적으로 i로 나눈 나머지 값이 0일 경우 출력합니다. 1. 정수 N을 입력 받습니다. 2. for문을 사용하여 1부터 입력 받은 정수 N까지 탐색합니다. 3~4. N을 나눈 값이 0일 경우 약수이므로, 양식에 맞게 결과값을 출력합니다. 2023. 4. 12.
[SWEA] SWEA 1936번: 1대1 가위바위보 파이썬 풀이 - 알고리즘 코딩 문제 해설 python 안녕하세요. 이번 포스팅은 SWEA의 1936번 문제 풀이입니다. 문제 이름은 "1대1 가위바위보" 입니다. 풀이 1 2 3 4 5 6 7 8 9 A, B = map(int, input().split()) if (A==1 and B==3): print('A') elif (A==3 and B==1): print('B') elif (AB): print('A') cs 핵심: 조건문을 이용해서 A와 B가 가위와 보를 내는 경우를 먼저 처리합니다. 1. A, B의 가위바위보를 입력받습니다. 2~5. 숫자로는 보가 가위보다 크지만 이기는 경우로 if, elif 문으로 먼저 처리합니다. 6~9. 양식에 맞게 나머지 결과값을 출력합니다. 2023. 4. 12.
반응형