일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 28 | 29 | 30 | 31 |
- codeup
- webhacking
- 파이썬
- 국가기록원
- 도구모음
- 국정원
- UKPT level
- Los
- 국가정보원
- 불법유통근절
- 화학물질
- 기타정보
- 웹 해킹 입문
- nurisec
- 프로젝트
- 대외활동
- 화학물질안전원
- 화학물질불법유통온라인감시단
- 불법유통
- Service
- 경기팀
- 정보보안
- MITRE ATT&CK
- HTML
- 여행
- UKPT
- 연구모임
- 12기
- suninatas
- PHP
- Today
- Total
목록Ⅰ. 프로그래밍 (58)
agencies
스토리 골드번호(선호번호)를 응모하여 번호를 변경하고자 했으나, 경쟁률이 너무 심해 얻지를 못했다. (지금까지 3년 도전하여 모두 실패했다) 응모한 뒷자리 번호(사번)은 0000이었다. 그나마 좋은 번호인 8888-1001 (등)을 구하려고 했으나 생각보다 검색하기 어려웠다. * 통신사마다 국번(가운데 번호)가 모두 다르다. 결국에는 포기하고 특정 문자(4글자)를 아스키코드값으로 변환하여 사용을 하려고 한다. number = input("[전화번호 추첨 프로그램]\n- 범위(A~Z/0~9/특수문자) : ") if len(number)!=4: print("4글자만 입력이 가능합니다") exit() a = ord(number[0].upper()) b = ord(number[1].upper()) c = ord..
#include int main() { int a,b,c; scanf("%d.%d.%d",&a,&b,&c); printf("%04d.%02d.%02d",a,b,c); } C언어에서는 scanf 로 값을 입력받을 때 %d(구분할 문자)%d 형식으로 자를 수 있습니다. python인 경우 split 으로 나눴습니다. 그리고 %d 인데 앞에 04를 넣게 되면 0001 0055 형식 등으로 앞에 0이 채워지게 됩니다. python에서는 zfill() 함수를 사용했습니다. + 값을 입력받을때 주소 연산자인 &를 사용하여 scanf에서 입력을 받고 출력할 때에는 주소가 아닌 값 변수 그대로 작성합니다.
문제 접근 방식 - 하나의 문자열을 입력받는다. - + - * /로 문자열을 자른다. - 기호를 기준으로 x와 y값을 구한 뒤 계산한다 a=input() for i in range(len(a)): if a[i] =="+": x=a[0:i] y=a[i+1:] print(int(x)+int(y)) break elif a[i] =="-": x=a[0:i] y=a[i+1:] print(int(x)-int(y)) break elif a[i]=="*": x=a[0:i] y=a[i+1:] print(int(x)*int(y)) break elif a[i]=='/': x=a[0:i] y=a[i+1:] print("%.2f"%(int(x)/int(y))) break
# 등급 점수 프로그램 (service team) #-*- coding:utf-8 -*- # score.txt 파일이 없다면 새로 생성 fp = open("score.txt","a+") # 파일 포인터를 첫번째로 이동 fp.seek(0) # 팀명이 존재하는지 확인 tmp = fp.read() # 파일 입력 여부 create = 0 # w모드로 열기 위해 파일 닫기 (파일이 비어있는 경우 / TEAM이 없는 경우) if not tmp: create = 1 fp.close() else: if "[TEAM]" not in tmp: create = 1 fp.close() # 파일 새로 입력 if create: # 팀명 mode = open("score.txt","w") team = input("[* 안내] 본인..
문제 접근 방식 - 파이썬 슬라이싱 이용 a=int(input()) m=list(map(int,input().split())) for i in range(a): # i번째 부터 가져옴 (뒷부분) t = m[i:] # 처음부터 i번째까지 가져옴(앞 부분) tt = m[:i] # t와 tt를 결합 후 출력 for j in t+tt: print(j,end=" ") print()
문제 접근 방식 - 각 숫자가 들어가면 이를 한글로 변환할 수 있는 딕셔너리 선언 - 숫자가 입력을 하는데 '만' 출력을 방어하기 위해 입력된 수 중 4자리만 추출 (reverse_num) - 0이 입력되면 영 출력 / 이것을 제외하고는 무시 - 글자들이 누적해서 저장 - 일억만 대신 일억이 표기될 수 있도록 입력된 값을 1억으로 나눴을때 나머지가 4자리 추출한 값보다 크다면 만 출력 (그렇지 않으면 : 4자리수인 경우) 만 출력하지 않음 a={1:'일', 2:'이', 3:'삼', 4:'사', 5:'오', 6:'육', 7:'칠', 8:'팔', 9:'구', 0:''} num = input() reverse_num = ''.join(reversed(num)) reverse_num = reverse_num[0..
문제 접근 방식 - 문자열을 전달 받으면 x와 +또는- 그리고 =를 기준으로 문자를 나눕니다. - 숫자 중 가운데 값은 부호까지 가져옵니다. +b 또는 -b가 되도록 그리고 str을 int형으로 변환시킵니다. - 일차방정식을 풀 수 있는 코드를 작성합니다. msg=input() b = "" for i in range(len(msg)): j = i if msg[i] == '+' or msg[i] == '-': a = msg[0:i-1] if msg[i] == 'x': while msg[j+1] != '=': b+=msg[j+1] j+=1 elif msg[i] == '=': c = msg[i+1:] r = int(c)-int(b) r = r/int(a) print("%.2f"%r)
num = int(input()) x = map(int,input().split()) for i in x: # 값이 1이면 1 반환 if i == 1: t = 1 # 값이 0이면 또는 짝수가 아니면 0 반환 elif i == 0 or i %2 != 0 : t= 0 else: while True: i = i // 2 # tmp가 다 나누어 떨어지거나 1이 되면 1 반환 if i == 0 or i == 1: t = 1 break # tmp가 홀수가 되면 0 반환 if i %2 != 0: t = 0 break print("%d"%t,end=" ") 위 코드는 메모리 초과를 야기합니다. num = int(input()) x = map(int, input().split()) for i in x: # 주어진 숫자를..
문제 접근 방법 - 2차원 배열 생성 (6묶음으로 입력값만큼 추가) - 값 4개를 입력받고 입력받은 값을 배열 눈 숫자에 위치한 곳에 +1 - 4개의 눈 중에서 6이 2번만 나오는 경우는 무조건 1600원 반환 num = int(input()) # 2차원 배열 생성 play = [[0 for i in range(6)] for j in range(num)] # 배열에 값 넣기 for i in range(num): ary = map(int,input().split()) ary = list(ary) for j in ary: play[i][j-1] += 1 result = 0 for i in range(num): jj = 5 for j in range(6): if play[i][j] == 4: tmp = 500..
문제 접근 방식 - 320과 같이 값이 주어졌을때 a[::-1]를 사용하면 023으로 출력되므로 int로 형 변환 시도 - a의 길이만큼 반복하여 배열 요소 하나씩 int형으로 변환 후 누적 합 계산 a = input() # 앞에 0 붙는 것 제거 print(int(a[::-1])) s = 0 # 각 자리수 합하기 for i in range(len(a)): s += int(a[i]) print(s)