エンコードテスト準備履歴-Day 3
18304 ワード
インプリメンテーションアルゴリズム
実施とは?
頭の中のトラブルシューティングアルゴリズムをソースコードに変換するプロセス.例:文字列処理、アルゴリズムは簡単であるが、コードが長すぎる;実数表現問題 問題は、よく読んで要求通りに実施する必要がある問題であるため、難易度はそれほど高くない. 実施形態は、シミュレーションおよび完全ナビゲーションの問題を含む. シミュレーションと完全ナビゲーションの問題では,方向ベクトルが主に用いられる2次元空間における多くの問題を解決する必要がある.
- ex) dx = [0, -1, 0, 1], dy = [1, 0 .-1. 0] 💡 に質問上下左右ユーザからコマンドを入力最終位置座標を出力する問題 .方向ベクトルによるトラブルシューティング トラブルシューティングコード
💡 問題2.時刻0からN点59分59秒の間の視点で3が入ると問題を解く .すべての時間は3つの方向に回転し、文字列処理によって「3」(Brute Forward) を見つけて解決する.
注意:Pythonは毎秒約2000万回の演算を実行でき、24 x 60 x 60=86400であるため、を実行できる.トラブルシューティングコード
💡 に質問王室の夜チェスゲームの夜指定位置で移動可能な場合の求数問題 dxは、dy方向ベクトルを作成することによって2次元配列を解決または結合することによって問題を解決する .「a 1」文字列を入力し、「a」を1と理解するint(文字)-int(ord(「a」)+1を見つけます. 注:ord():戻り文字はAskiコード値<=>chr() として返されます.トラブルシューティングコード
💡 に質問文字列の再配置アルファベット、数字を入力した後にアルファベットの順序で並べ替えて、数字は問題の を求めます文字と数字を分類し、 を解決するためにそれぞれ演算する.トラブルシューティングコード
実施とは?
頭の中のトラブルシューティングアルゴリズムをソースコードに変換するプロセス.
- ex) dx = [0, -1, 0, 1], dy = [1, 0 .-1. 0]
def main():
matrix_size = int(input())
commands = input().split()
# x, y 초기화
x, y = 0, 0
# x, y 좌표 변화 리스트
# 좌 우 상 하
dx = [0, 0, -1, 1]
dy = [-1, 1, 0, 0]
command_types = ['L', 'R', 'U', 'D']
for command in commands:
for i in range(len(command_types)):
if command == command_types[i]:
nx = x + dx[i]
ny = y + dy[i]
if nx < 0 or ny < 0 or nx >= matrix_size or ny >= matrix_size:
# out of range error
continue
# 실제 이동 수행
x, y = nx, ny
print(x,y)
if __name__ == "__main__":
main()
https://github.com/ybkim-dev/algorithms/blob/master/実施/上下左右%20,%20 mem%20 cacheなし。py 💡 問題2.時刻
注意:Pythonは毎秒約2000万回の演算を実行でき、24 x 60 x 60=86400であるため、を実行できる.
def main():
# 3이 하나라도 포함되는 경우의 수 구하기
n = int(input())
count = 0
# 0 ~ N 시 59분 59초까지 3이 포함되는 경우.
for i in range(n+1):
# 분
for j in range(60):
for k in range(60):
if '3' in str(i) + str(j) + str(k):
count += 1
print(count)
if __name__ == "__main__":
main()
https://github.com/ybkim-dev/algorithms/blob/master/インプリメンテーション/視点。py 💡 に質問王室の夜
def main():
# 나이트의 이동 가능 경우의 수 구하기
knight_point = input()
row = int(ord(knight_point[0])) - int(ord('a')) + 1
col = int(knight_point[1])
# 나이트의 이동 가능 row, col 좌표
d_row = [2, 1, -1, -2, -2, -1, 1, 2]
d_col = [1, 2, 2, 1, -1, -2, -2, -1]
count = 0
for i in range(len(d_row)):
nx = row + d_row[i]
ny = col + d_col[i]
# out of range error.
if nx <= 0 or nx > 8 or ny <= 0 or ny > 8:
continue
else:
count += 1
print(count)
if __name__ == "__main__":
main()
https://github.com/ybkim-dev/algorithms/blob/master/実施/王室%20泊。py 💡 に質問文字列の再配置
s = input()
string_list = []
number_list = []
for i in range(len(s)):
# 문자열이면 문자열 리스트에 담기
if s[i].isalpha():
string_list.append(s[i])
# 숫자면 숫자 리스트에 담기
else:
number_list.append(s[i])
# 문자열 정렬
string_list.sort()
# 숫자 합
sum = 0
for number in number_list:
sum += int(number)
for i in range(len(string_list)):
print(string_list[i], end='')
print(sum)
https://github.com/ybkim-dev/algorithms/blob/master/文字列%20を実装/再配置します。pyReference
この問題について(エンコードテスト準備履歴-Day 3), 我々は、より多くの情報をここで見つけました https://velog.io/@arkeio/코딩-테스트-준비-기록-Day-3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol