백준

Programming/Coding Problem

BOJ 10988번: 팰린드롬인지 확인하기

핵심 포인트 문자열 역 인덱싱 제출코드 S = input() flag = 1 if S == S[::-1] else 0 print(flag) 해설 입력받은 문자열 S는 리스트와 같이 동작할 수 있습니다. 여기서 인덱싱 기법 중 [::-1]을 사용하게 되면 역순으로 바뀌게 됩니다. 이를 활용해서 문자열 S와 역순으로 바꾼 문자열 S[::-1]이 동일한 경우 1을 출력하고 다르면 0을 출력하도록 코딩하였습니다. 참고자료 및 그림출처 백준 코딩 문제

Programming/Coding Problem

BOJ 2444번: 별 찍기 - 7

핵심 포인트 기초 구현력 제출코드 N = int(input()) for i in range(1, N + 1): print(' ' * (N - i) + '*' * (2 * i - 1)) for i in range(N - 1, 0, -1): print(' ' * (N - i) + '*' * (2 * i - 1)) 해설 먼저, 패턴을 분석해야합니다. 예시 출력을 보시면 $N = 5$일 때, 첫번째 줄부터 5번째 줄까지 공백 4개 + 별 1개, 공백 3개 + 별 3개, 공백 2개 + 별 5개, 공백 1개 + 별 7개, 공백 0개 + 별 9개임을 알 수 있습니다. 따라서, 현재 줄이 $i$번쨰 줄일 때 공백의 개수는 $N - i$이고 별의 개수는 $2i - 1$개임을 알 수 있습니다. 다음으로 6번째 줄부터는 공..

Programming/Coding Problem

BOJ 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰

핵심 포인트 기초 구현력 zip 함수 제출코드 current = list(map(int, input().split())) correct = [1, 1, 2, 2, 2, 8] count = [] for cu, co in zip(current, correct): count.append(co - cu) print(' '.join(map(str, count))) 해설 현재 가지고 있는 체스말의 개수를 current 변수에 담고 정확한 개수의 체스말 개수를 correct 변수에 저장해놓습니다. 여기서 저는 zip 함수를 이용해서 current 와 correct를 하나로 묶어서 반복문을 순회할 수 있도록 만들었습니다. zip(current, correct)는 같은 인덱스끼리 묶어서 새로운 리스트로 만들어주는 것이라..

Programming/Coding Problem

BOJ 11718번: 그대로 출력하기

핵심 포인트 문자열 EOFError 제출코드 while True : try : print(input()) except EOFError : break 해설 문제의 핵심은 입력이 언제 끝날 지 모른다는 점입니다. 따라서, while 문으로 무한반복을 걸어둔 상태에서 try - except 구문을 이용해서 아무것도 입력되지 않으면 while 문을 탈출하게끔 코드를 짜면 됩니다. 참고자료 및 그림출처 백준 코딩 문제

Programming/Coding Problem

BOJ 9086번: 문자열

핵심 포인트 문자열 문자열 인덱싱 제출코드 for _ in range(int(input())): S = input() print(S[0]+S[-1]) 해설 문자열 역시 리스트와 같이 인덱싱을 할 수 있습니다. 문자열의 첫번째 요소인 S[0]과 마지막 요소인 S[1]을 덧셈 + 를 이용해서 두 문자를 이어붙어준 뒤 출력해주면 됩니다. 참고자료 및 그림출처 백준 코딩 문제

Programming/Coding Problem

BOJ 2743번: 단어 길이 재기

핵심 포인트 문자열 제출코드 print(len(input())) 해설 파이썬에서는 문자열을 리스트와 유사하게 생각할 수 있기 때문에 len() 함수를 이용해서 문자열에 포함된 문자의 개수를 출력할 수 있습니다. 참고자료 및 그림출처 백준 코딩 문제

Programming/Coding Problem

BOJ 27866번: 문자와 문자열

핵심 포인트 문자열 문자열 인덱싱 제출코드 S = input() idx = int(input()) - 1 print(S[idx]) 해설 문자열 변수 S과 인덱싱하고 싶은 번호를 입력받은 뒤 문자열 인덱싱을 통해 출력하면 됩니다. 참고자료 및 그림출처 백준 코딩 문제

Programming/Coding Problem

BOJ 10811번: 바구니 뒤집기

핵심 포인트 반복문 : for문 1차원 배열 reversed() 함수 제출코드 N, M = map(int, input().split()) backets = [i + 1 for i in range(N)] for _ in range(M): i, j = map(int, input().split()) backets[i - 1:j] = reversed(backets[i - 1:j]) print(' '.join(map(str, backets))) 해설 backets 변수에 1번부터 $N$번까지 정렬된 바구니의 번호를 초기화시켜줍니다. 다음으로 $M$번 반복문을 순회하면서 뒤집는 시작번호 $i$와 끝번호 $j$를 입력 받게 되죠. 이때, $i$번 인덱스부터 $j$번 인덱스까지 슬라이싱 한뒤 reversed 함수를 이..

Johns Hohns
'백준' 태그의 글 목록 (5 Page)