바로 시각문제를 풀어보겠습니다
1를 입력했다고 하면 00시 00분 00초 부터 1시 59분 59초 까지의 모든 시각중에서
즉 모든 초 중에서 3이 하나라도 포함되어 있는지를 체크하면 되겠죠
3초는 이렇게 3이 포함되어있으니까
3이 두개나 포함 되죠
반면에 이렇게 아래쪽에 있는 이 두개는 둘다 3이 하나도 포함 되어있지 않기 때문에 새면안되는 시각이라고 말할수 있습니다
제한이 2초고요
정수N은 당연이 하루는 최대 23:59:59 까지밖에 존재하지 않기 때문에 이N은 0부터 23사이에 정수가 되는걸 확인할 수 있습니다
내코드
n = int(input())
total = 0
if n > 23:
print("23까지만 입력됩니다")
else:
for i in range(1,n+1):
if(i == 3):
total += 1
for j in range(1,60):
if(i == 3 or j == 3):
total += 1
for m in range(1,60):
if(i == 3 or j == 3 or m ==3):
total += 1
print(total)
수 있습니다
3이 하나라도 포함되어있는지를 그냥 확인하면 되는 겁니다
이런 문제유형은 브루트폴싱
가능한 경우의 수를 모두 검사해보는 탐색방법을 의미합니다
뒤에 이 i는 0부터 h까지 1씩 증가 하도록 합니다
제이 또한
이 분또한 0부터 59까지 증가하고 이렇게 제이가
여기서 k는 초가 됩니다 파이썬 상에서 이 시 분 초 안에 3이 하나라도 나오면 포함 되어 있는지를 세기 위해서 간단히
문자열 형태로 만들어서 더해 버립니다
문자열 안에 3이 포함되어
정답판정
c++ 에서는 이렇게 시 분 초를 모두 문자열로 만들어서 더하는 방법은
이 m 즉 분이 들어왔을때 그 10의 자리수 혹은 일의 자리수가 3인지를 또 이렇게 체크를 하고 마찬가지로 초 또한 10에 자리수와 1의 자리수 중에서 3인게 존재하는지를 체크 하는 방식으로
시 hour 같은 경우는
시각 안의 3이 포함 ~
방법으로
로직으로
자바코드 또한 확인해 볼건데요 자바도
로직으로 작성되어있고 문법만
보이드 로 선언된
함수 또한 스테틱으로
시각 문제까지 풀어보았습니다
이어서 왕실의 나이트 문제입니다
체스판과 같은
둘중에
8 바이 8 좌표평면 상에서
출력하면 정답이 되겠습니다 또 다른 예시는
나이트가 존재
자 이 문제는 또 전형적인 시물레이션
1초
각자
자 이문제는
각 위치로 이동이 가능 한지 하면 되겠죠?
있다는 점을
방향 벡터
값으로 바꾸고 이제 그 값을 이렇게 문자 a를 아스키코드로 바꾼 값을 빼준다음에 이제 거기에 1을 더해줌으로서 컬럼에 위치를 찾을 수가 있습니다
카운트를 증가시키는
코드를 작성 할 수 있습니다.
바로 이렇게 코드를 작성해서 제출하면 정답 판정을 받을수 있습니다.
* 방향 백터 코드로 구현하는 거 공부하자
* 그리고 2차원 배열을 넘어갈때 무시하게 만드는 코드 분석하자
이 두개가 핵심이다
바로 정의 하는게
정의 한 뒤에 문자형태로 나이트에
초기화 할 수 있습니다
캐릭터엣(charAt) 메소드
마찮가지로 로직이 c++
왕실의 나이트 문제는 전형적으로 문제로써
2차원 리스트 혹은 2차원 배열이 사용되는 전형적인 구현유형의 문제입니다
문자열 재정렬 문자열이 입력으로
출력한 뒤에
된다고 하네요
디지트 값을 의미함
K1KA5CB7 이라고 문자열이
157를 더한 값 13을 출력하면 되는겁니다
자 그래서 이 문제는 프로그램의 수행시간제한이 1초고
메모리제한은 128메가라고 하네요 이문제는 어떻게 해결할 수 있을까요
https://musclebear.tistory.com/38 를 참고했음
import re
h = input()
total = 0
numbers = re.findall("\d", h)
print(numbers)
for i in range(len(numbers)):
total += int(numbers[i])
print(total)
print(h)
"""
a='123abc'
result=int(filter(str.isdigit,a))
#2.문자
a='123abc'
result=int(filter(str.isalpha,a))
""
기존 문자열에서 추출한 숫자를 뺴려고 했는데 하다가 실패함
각자 문제를 풀어주세요 해설강의
이문제 또한 구현문제이기 때문에
요구 사항대로 정답판정
리스트에 담긴
출력하기만 하면 정답판정
코드 부터 확인
리스트에 넣어 줄 수 있도록 하고
정수형 데이터로 이 벨류 값을 더해주는
알파벳을 정렬한 뒤에
벨류 값이
바로 정답이라고 할 수 있습니다
알파벳인지 확인하기(isalpha) 아래 참고함
https://appia.tistory.com/178
https://blockdmask.tistory.com/468
이렇게 코드를 작성
걸 확인 할 수 있고요
뒤에 만약에 숫자가
깃 허브에 가셔서 확인
동작 로직은 이 c ++ 로 작성된
Last Updated:
Summarize & share videos seamlessly
Loading...